以下は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(); } } } |
> 本文に戻る