以下はSystem.out.println()によって「計算の過程での変数の値の動きの確認」をする場合の、ソースコードの一例です。
このソースコードをコンパイルしたアプレットは、http://www.sfc.keio.ac.jp/~tsaito/tmp/PrintTest02.htmlにあります。次のコマンドによってappletviewerを起動し、その動作を確認して下さい。
| % appletviewer http://www.sfc.keio.ac.jp/~tsaito/tmp/PrintTest02.html & |
/**
** プログラミング入門・ミニプロの作業を助けるサンプルプログラム・その2
** 「System.out.println();による変数の値の確認」
** 作成日:02/01/05
** 概要:System.out.println();の引数に整数型の変数を与えることによって、
** その変数の各時点での値をリアルタイムに確認することができる
**
**/
import java.applet.Applet;
import java.awt.*;
import java.awt.event.*;
public class PrintTest02 extends Applet implements ActionListener,Runnable{
int x,y;
boolean stopFlag;
Thread th;
/*initメソッドの定義*/
public void init(){
Button b1 = new Button("Start");
b1.setActionCommand("YAMA");
b1.addActionListener(this);
Button b2 = new Button("Stop");
b2.setActionCommand("KAWA");
b2.addActionListener(this);
add(b1);
add(b2);
x=0; y=50;
stopFlag=false;
}
/*startメソッドの定義*/
public void start(){
System.out.println("start called"); // startメソッドが呼び出されると、
// コンソールウインドウにstart calledと表示される
if(th==null){
th=new Thread(this);
stopFlag=false;
th.start();
}
}
/*stopメソッドの定義*/
public void stop(){
System.out.println("stop called"); // stopメソッドが呼び出されると、
// コンソールウインドウにstop calledと表示される
if(th!=null){
stopFlag=true;
th=null;
}
}
/*paintメソッドの定義*/
public void paint(Graphics g){
g.setColor(Color.blue);
g.fillOval(x,y,20,20);
System.out.println("x = " + x); // paint実行時の変数xの値が表示される
// 変数xの値とは、このプログラムの場合、
// 表示される青い円のその都度のx座標の値に該当する
}
/*runメソッドの定義*/
public void run(){
while(true){
x=x+5;
if(x >= 300){
x=0;
}
repaint();
try{
Thread.sleep(100);
}
catch(InterruptedException e){
}
// 無限ループからの脱出(スレッドが停止した場合)
if(stopFlag==true){
break;
}
}
}
/*actionPerformedメソッドの定義*/
public void actionPerformed(ActionEvent e){
System.out.println("actionPerformed called"); // actionPerformedメソッドが呼び出されると、
// コンソールウインドウにactionPerformed calledと表示される
String c = e.getActionCommand();
if(c.equals("YAMA")){
start();
}
else if (c.equals("KAWA")){
stop();
}
}
}
|
> 本文に戻る