TOP -> Programming II Report#2
~ 目次 ~
- import java.awt.*; // ウィンドウ関連ツール(Abstract Window Toolkit)を使う
- import java.util.Random; // 乱数を使う
- import java.applet.Applet;
- //<applet code="Circles" width=300 height=300>public class Circles extends Applet { // アプレットの名前は Circles にする
- public void paint(Graphics g) { // 描画手順は以下の通り
- Random a = new Random(); // 新しい乱数列 a を用意する
- for (int i = 0; i < 1000; i++) { // 0 から 999 までループ
- g.setColor(new Color(a.nextInt())); // 整数の乱数を発生し,それで色を決める
- int x = (int)(300 * a.nextDouble()); // 整数変数 x に 300×(0以上1未満の実数の乱数) を(切り捨てて整数にして)代入する
- int y = (int)(100 * a.nextDouble()); // 上と同様
- int r = (int)(40 * a.nextDouble()) + 10; // 上と同様
- g.fillOval(x - r, y - r, 2 * r, 2 * r); // 中心 (x,y),半径 r の円板を描く
- }
- }
- }
コンパイル [nw0604:~/dokusyu] j06004% javac -encoding euc-jp Circles.java | & nkf -e 実行コマンド [nw0604:~/dokusyu] j06004% appletviewer Circles.java
9-1 : g.setColor(new Color(a.nextInt())); 乱数を発生させ色をランダムにきめる。 9-2 : int x = (int)(300 * a.nextDouble()); x軸の触れ幅(0以上300未満で動く) 9-3 : int y = (int)(100 * a.nextDouble()); y軸の触れ幅(0以上100未満で動く) 9-4 : int r = (int)(40 * a.nextDouble()) + 10; 半径の長さ(10以上50未満で変わる) 9-5 : g.fillOval(x - r, y - r, 2 * r, 2 * r); 中心(x,y)=(x-r,y-r)半径rの円を描く
- import java.awt.*;
- import java.applet.Applet;
- import java.util.Random;
- //<applet code="sai" width=300 height=300>public class sai extends Applet {
- public void paint(Graphics g){
- Random a = new Random();
- int koro = (int)(6*a.nextDouble())+1;
- g.setColor(Color.white);
- g.fillRect(60,60,100,100);
- g.setColor(Color.red);
- switch(koro){
- case 1:
- g.fillOval(100,100,20,20);
- g.setColor(new Color(a.nextInt()));
- g.drawLine(180,70,180+koro*10,70);
- g.drawString("長さ10ピクセルのライン",180,130);
- break;
- case 2:
- g.fillOval(70,70,20,20);
- g.fillOval(130,130,20,20);
- g.setColor(new Color(a.nextInt()));
- g.drawLine(180,70,180+koro*10,70);
- g.drawString("長さ20ピクセルのライン",180,130);
- break;
- case 3:
- g.fillOval(100,100,20,20);
- g.fillOval(70,70,20,20);
- g.fillOval(130,130,20,20);
- g.setColor(new Color(a.nextInt()));
- g.drawLine(180,70,180+koro*10,70);
- g.drawString("長さ30ピクセルのライン",180,130);
- break;
- case 4:
- g.fillOval(70,70,20,20);
- g.fillOval(130,130,20,20);
- g.fillOval(70,130,20,20);
- g.fillOval(130,70,20,20);
- g.setColor(new Color(a.nextInt()));
- g.drawLine(180,70,180+koro*10,70);
- g.drawLine(180,70,180+koro*10,70);
- g.drawString("長さ40ピクセルのライン",180,130);
- break;
- case 5:
- g.fillOval(100,100,20,20);
- g.fillOval(70,70,20,20);
- g.fillOval(130,130,20,20);
- g.fillOval(70,130,20,20);
- g.fillOval(130,70,20,20);
- g.setColor(new Color(a.nextInt()));
- g.drawLine(180,70,180+koro*10,70);
- g.drawString("長さ50ピクセルのライン",180,130);
- break;
- case 6:
- g.fillOval(70,70,20,20);
- g.fillOval(130,130,20,20);
- g.fillOval(70,130,20,20);
- g.fillOval(130,70,20,20);
- g.fillOval(130,100,20,20);
- g.fillOval(70,100,20,20);
- g.setColor(new Color(a.nextInt()));
- g.drawLine(180,70,180+koro*10,70);
- g.drawString("長さ60ピクセルのライン",180,130);
- break;
- }
- }
- }
コンパイル [nw0604:~/dokusyu] j06004% javac -encoding euc-jp sai.java | & nkf -e 実行コマンド [nw0604:~/dokusyu] j06004% appletviewer sai.java実行結果を新しい画面で表示
javaはc言語と似てはいますが、HTMLでレポートを出すことがとても苦戦しました。土曜日は5:00まで起きて仕上げようとしまし たができず日曜日まで食い込みとても疲れました。夜鏡を見ると目が充血していました。パソコンを使って初めて充血したのでとて もビビりました。