Javaに投稿されたコード一覧

Java 加算演算子

/**
 * 加算演算子です。
 */
public class Add implements Node {

	private Numeric left;
	private Numeric right;

	public Add(Numeric left, Numeric right) {
		this.left = left;
		this.right = right;
	}

	@Override
	public Node evaluation() {
		double result = left.getValue() + right.getValue();
		return new Numeric(result);
	}

}

Java 数値のノード

/**
 * 数値を表すノードです。
 */
public class Numeric implements Node {

	private double value;

	public Numeric (double value) {
		this.value = value;
	}

	@Override
	public Node evaluation() {
		return this;
	}

	public double getValue() {
		return value;
	}

}

Java 構文木のノードその1

/**
 * 構文木のノードです。
 */
public interface Node {

	/**
	 * このノードを評価します。
	 */
	public Node evaluation();

}

Java ミラー画像

int w = 200, h = 300;

//PImage flip = createImage(w, h, ARGB); //不要
PGraphics g = createGraphics(w, h, JAVA2D);

void setup(){
frameRate(1000);
size(w<<1, h, P2D);
}

void draw(){
println(frameRate);

// 適当になんか描く
g.beginDraw();
g.colorMode(HSB, w);
for(int i=0; i<w; i++) {
  g.stroke(i, w, w);
  g.line(i, 0, i, h);
}
g.textSize(w>>2);
g.fill(0);
g.text("aiueo", w>>2, h>>1);
g.endDraw();

image(g, 0, 0);

//不要
//// 反転処理
//for(int ly=0; ly<h; ly++) {
//for(int lx=0; lx<w; lx++) {
//  int i = lx + (ly*w);
//  int j= (w-lx-1) + (ly*w); // -1を忘れずに
//  flip.pixels[i] = g.pixels[j];
//}}
image(g, w*2, 0,-w,h);//反転させて貼る。
stroke(0); line(w, 0, w, h);
}

Java パフォーマンス計測用

int w = 200, h = 300;

PImage flip = createImage(w, h, ARGB);
PGraphics g = createGraphics(w, h, JAVA2D);

void setup(){
frameRate(1000);
size(w<<1, h, P2D);
}

void draw(){
println(frameRate);

// 適当になんか描く
g.beginDraw();
g.colorMode(HSB, w);
for(int i=0; i<w; i++) {
  g.stroke(i, w, w);
  g.line(i, 0, i, h);
}
g.textSize(w>>2);
g.fill(0);
g.text("aiueo", w>>2, h>>1);
g.endDraw();

image(g, 0, 0);

// 反転処理
for(int ly=0; ly<h; ly++) {
for(int lx=0; lx<w; lx++) {
  int i = lx + (ly*w);
  int j= (w-lx-1) + (ly*w); // -1を忘れずに
  flip.pixels[i] = g.pixels[j];
}}

image(flip, w, 0);
stroke(0); line(w, 0, w, h);
}

Java 画面右下をクリックするとウィンドウを表示する

package com.tatesuke.javalab;

import java.awt.Dimension;
import java.awt.MouseInfo;
import java.awt.PointerInfo;
import java.awt.Rectangle;
import java.awt.Toolkit;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;

import javax.swing.JDialog;
import javax.swing.JFrame;

public class Launcher {

	public static void main(String args[]) throws InterruptedException {
		Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
		Rectangle rect = new Rectangle(screenSize.width - 3, screenSize.height - 3, 3, 3);

		final JFrame frame = new JFrame("テスト");
		frame.setBounds(10, 10, 100, 100);
		frame.setDefaultCloseOperation(JFrame.HIDE_ON_CLOSE);

		final JDialog dialog = new JDialog();
		dialog.setBounds(rect);
		dialog.setUndecorated(true);
		dialog.setAlwaysOnTop(true);
		dialog.addMouseListener(new MouseAdapter() {
			@Override
			public void mouseClicked(MouseEvent e) {
				switch (e.getButton()) {
				case MouseEvent.BUTTON1:
					frame.setVisible(true);
					break;
				default:
					System.exit(0);
					break;
				}
			}
		});

		PointerInfo pointerInfo;
		while (true) {
			pointerInfo = MouseInfo.getPointerInfo();

			if (rect.contains(pointerInfo.getLocation())) {
				dialog.setVisible(true);
			} else {
				dialog.setVisible(false);
			}

			Thread.sleep(100);
		}
	}

}

Java PR0C3551N6 ではじめるアメーバ(カラー版)

final int MAX_POINT = 180;
final int RADIUS = 150;
final int POINT_SIZE = 5;
PVector[] point = new PVector[MAX_POINT];

float halfWidth;
float halfHeight;

void setup(){
    //size(400, 400);
    halfWidth = width / 2;
    halfHeight = height / 2;
    colorMode(HSB);
    smooth();
    noStroke();
    
    //  各ポイントにベクトルをセット
    for(int i = 0; i < MAX_POINT; i++){
        float d = 360.0 / MAX_POINT * i;
        float x = cos(radians(d)) * RADIUS;
        float y = sin(radians(d)) * RADIUS;
        point[i] = new PVector(x, y);
    }
    
}

int c = 0;
void draw(){
    background(0);
    c += 5;
    
    PVector tmp = new PVector();
    PVector center = new PVector(halfWidth, halfHeight);
    
    //  各点を描く
    for(int i = 0; i < MAX_POINT; i++){
        tmp.set(point[i]);
        tmp.mult((sin(radians(i * 14 + c * 1.2))) * 0.2 + 0.8);
        tmp.mult((cos(radians(i * 18 + -c * 1.7))) * 0.2 + 0.8);
        tmp.add(center);
        fill(map(i,0,180,0,255),255,255);
        ellipse(tmp.x, tmp.y, POINT_SIZE, POINT_SIZE);
    }
}

Java PR0C3551N6 ではじめるアメーバ

final int MAX_POINT = 180;
final int RADIUS = 150;
final int POINT_SIZE = 5;
PVector[] point = new PVector[MAX_POINT];

float halfWidth;
float halfHeight;

void setup(){
    //size(400, 400);
    halfWidth = width / 2;
    halfHeight = height / 2;
    
    smooth();
    noStroke();
    
    //  各ポイントにベクトルをセット
    for(int i = 0; i < MAX_POINT; i++){
        float d = 360.0 / MAX_POINT * i;
        float x = cos(radians(d)) * RADIUS;
        float y = sin(radians(d)) * RADIUS;
        point[i] = new PVector(x, y);
    }
    
}

int c = 0;
void draw(){
    background(0);
    c += 5;
    
    PVector tmp = new PVector();
    PVector center = new PVector(halfWidth, halfHeight);
    
    //  各点を描く
    for(int i = 0; i < MAX_POINT; i++){
        tmp.set(point[i]);
        tmp.mult((sin(radians(i * 14 + c * 1.2))) * 0.2 + 0.8);
        tmp.mult((cos(radians(i * 18 + -c * 1.7))) * 0.2 + 0.8);
        tmp.add(center);
        ellipse(tmp.x, tmp.y, POINT_SIZE, POINT_SIZE);
    }
}

Java 未タイトル

public class Main {

	public static void main(String[] args) {
		Foo foo = new FooLogger(new FooImpl());
		foo.foo();
		foo.bar();
		foo.baz();
	}

}

Java 未タイトル

public class FooLogger implements Foo {

	private Foo foo;

	public FooLogger(Foo foo) {
		this.foo = foo;
	}

	@Override
	public void foo() {
		try {
			System.out.println("foo start");
			foo.foo();
		} finally {
			System.out.println("foo end");
		}
	}

	@Override
	public void bar() {
		try {
			System.out.println("bar start");
			foo.foo();
		} finally {
			System.out.println("bar end");
		}
	}

	@Override
	public void baz() {
		try{
			System.out.println("baz start");
			foo.baz();
		} finally {
			System.out.println("baz end");
		}
	}

}
Total Pages: 5 / 11« 先頭...3456710...最後 »

よく投稿されているコード

タグ

最近投稿されたコード