< F2D B838A835882CC8CF68EAE2E6A7464>

Similar documents
< F2D834F838C A815B A CC>

< F2D82B682E182F182AF82F12E6A7464>

< F2D8EA CE909482CC92EA82852E6A7464>

< F2D92DE82E8914B82CC977088D32E6A7464>

< F2D F B834E2E6A7464>

< F2D825282CC947B909482CC A815B83682E6A>

< F2D82518CC282CC D2E6A7464>

< F2D A838B838D96402E6A7464>

< F2D82518E9F8AD CC95BD8D7388DA93AE2E6A7464>

< F2D A839382CC906A2E6A7464>

< F2D89BA8EE882C E6A7464>

< F2D82518E9F8AD CC834F CC8CFC82AB82C68D4C>

< F2D E E6A7464>

< F2D B825082CC96E291E82E6A7464>

< F2D BCA82CC978E89BA82CC8EC08CB12E6A7464>

Java言語 第1回


Microsoft PowerPoint - OOP.pptx

アプレットの作成

ガイダンス

ガイダンス

Java言語 第1回

ガイダンス

Microsoft PowerPoint prog1_doc2x.pptx

Java言語 第1回

ガイダンス

2

ガイダンス

Prog1_12th

問題1 以下に示すプログラムは、次の処理をするプログラムである

IE6 2 BMI chapter1 Java 6 chapter2 Java 7 chapter3 for if 8 chapter4 : BMI 9 chapter5 Java GUI 10 chapter6 11 chapter7 BMI 12 chap

text_12.dvi

Safari AppletViewer Web HTML Netscape Web Web 15-1 Applet Web Applet init Web paint Web start Web HTML stop destroy update init Web paint start Web up

Local variable x y i paint public class Sample extends Applet { public void paint( Graphics gc ) { int x, y;... int i=10 ; while ( i < 100 ) {... i +=

untitled

r3.dvi

Java演習(2) -- 簡単なプログラム --

10/31 Java AWTの基本構造(Frameクラスの継承) 演習課題資料

text_13.dvi

Microsoft PowerPoint - prog11.ppt

try catch Exception Java try catch try { } catch ( Exception e ) { } e 16-1 try catch 0 try { int x = 0; int y = 10 / x; } catch ( Exception e ) { Sys

Thread

Prog2_11th

Microsoft PowerPoint prog1_doc2.pptx

表示の更新もそういた作業のひとつに当たる スレッドの使用アニメーション アニメーションやシミュレーションなどは画面の更新が一定のタイミングで行われていく この連続した画面の更新をスレッドを利用して行う しかし paint() メソッドを直接呼び出して表示を更新することはできない その理由

ただし 無作為にスレッドを複数実行すると 結果不正やデッドロックが起きる可能性がある 複数のスレッド ( マルチスレッド ) を安全に実行する ( スレッドセーフにする ) ためには 同期処理を用いるこ とが必要になる 同期処理は 予約語 synchronized で行うことができる ここでは sy

GUIプログラムⅤ

r2.dvi

Microsoft PowerPoint - prog11.ppt

問題1 以下に示すプログラムは、次の処理をするプログラムである

Taro-korattsu.jtd

問1

Object MenuComponent MenuBar MenuItem Menu CheckboxMenuItem

public class Kadai _02 { public static void main(string[] args) { MyFrame frame = new MyFrame("Kadai _02"); (2) フレームのクラス名は MyFrame とし 以下

Prog1_12th

PowerPoint Presentation

2 static final int DO NOTHING ON CLOSE static final int HIDE ON CLOSE static final int DISPOSE ON CLOSE static final int EXIT ON CLOSE void setvisible

226

Applet java.lang.object java.awt.component java.awt.container java.awt.panel java.applet.applet

Microsoft PowerPoint - prog13.ppt

Microsoft PowerPoint - prog13.ppt

GUIプログラムⅣ

Microsoft PowerPoint - prog12.ppt

2


6 p.1 6 Java GUI GUI paintcomponent GUI mouseclicked, keypressed, actionperformed mouseclicked paintcomponent thread, 1 GUI 6.0.2, mutlithread C

vol.30.}...`.X...b.h

Microsoft PowerPoint ppt

Java言語 第1回

<4D F736F F F696E74202D AC C8899E D834F E >

Java演習(4) -- 変数と型 --

アプレットⅤ

r4.dvi

I. (i) Java? (A). 2Apples (B). Vitamin-C (C). Peach21 (D). Pine_Apple (ii) Java? (A). Java (B). Java (C). Java (D). JavaScript Java JavaScript Java (i

awt の主要なクラスを下記に示す クラス Component Container Button Label Panel Frame 説明画面にユーザインターフェイス要素として表示し, ユーザとのやり取りを行うコンポーネントを表すすべてのコンポーネントのスーパークラスになる ほかのコンポーネントを含

19 3!! (+) (>) (++) (+=) for while 3.1!! (20, 20) (1)(Blocks1.java) import javax.swing.japplet; import java.awt.graphics;

II Java :30 12:00 I. I IV II. III. IV. ( a d) V. : this==null, T == N A ActionListener C class D actionperformed G getsource I implements K

Chapter 20. [ ] ; [ ] = new [ ] ; Color colors [ ] = new Color[ 20 ]; // 20 Button operations [ ] = new Button[ 10 ]; // 10 colors[ 3 ] = new Color( 1

2008 e-learning T050050

I. java.awt.rectangle java.lang.math random Java TM API java.awt Rectangle Rectangle (x,y)... public int x Rectangle X public int y Rectangle Y public

PowerPoint Presentation

PowerPoint プレゼンテーション

Java講座

次の演習課題(1),(2)のプログラムを完成させよ

PowerPoint プレゼンテーション

Assignment_.java /////////////////////////////////////////////////////////////////////// // 課題 星の画像がマウスカーソルを追従するコードを作成しなさい 次 ///////////////////

IT プロジェクト

I HTML HashMap (i) (ii) :.java import java.net.*; import java.io.*; import java.util.hashmap; public class SimpleStopWatch { public static voi

Microsoft PowerPoint - prog10.ppt

教材ドットコムオリジナル教材 0から始めるiアフ リ リファレンス i アプリ簡易リファレンス ver i アプリ Java 独自のメソッド (1)iアプリの命令を使えるようにする import com.nttdocomo.ui.*; (2) 乱数を使う import java.u

public class MyFrame { private JPanel panel1; private JPanel panel2; private JPanel panel3; private JPanel panel4; private JLabel label1; private JTex

シミュレーションの簡単な例 GUI 無しのシミュレーションを作る GUI を作る パラメタを設定するデモンストレーションをする 2 オブジェクト指向プログラミング特論

Java演習(9) -- クラスとメソッド --

Java プログラミング Ⅰ 3 回目変数 変数 変 数 一時的に値を記憶させておく機能型 ( データ型 ) と識別子をもつ 2 型 ( データ型 ) 変数の種類型に応じて記憶できる値の種類や範囲が決まる 型 値の種類 値の範囲 boolean 真偽値 true / false char 2バイト文

KeyListener init addkeylistener addactionlistener addkeylistener addkeylistener( this ); this.addkeylistener( this ); KeyListener public void keytyped

(Microsoft PowerPoint - \223\306\217KJAVA\221\346\202R\224\ ppt)

PowerPoint プレゼンテーション

2 p.2 2 Java Hello0.class JVM Hello0 java > java Hello0.class Hello World! javac Java JVM java JVM : Java > javac 2> Q Foo.java Java : Q B

Microsoft PowerPoint - prog10.ppt

PowerPoint プレゼンテーション

Transcription:

ウォーリスの公式 [Java アプレット ] [Java アプリケーション ] 1. はじめに 次のウォーリスの公式を用いて π の近似値を求めてみましょう [ ウォーリスの公式 ] π=2{ 2 2 4 4 6 6 1 3 3 5 5 7 シミュレーションソフト ウォーリスの公式による π の近似 を使って π の近似値が求まる様子を観察してみてください 2.Java アプレット (1) Javaプログラムリスト ウォーリスの公式によるπの近似 Copyright ( C) K.Niwa 2002.08.11 (Javaアプレット) クラスの読み込み import java.applet.applet; import java.awt.*; import java.awt.event.*; import java.lang.math; /***** public class Wourisu extends Applet implements Runnable ***********************************/ public class Wourisu extends Applet implements Runnable { スレッドを使えるようにする 変数とオブジェクトの型宣言 Thread myth; スレッド型で宣言する Button[] mybtn; Panel mypanel; ボタン型配列で宣言する パネル型で宣言する -157-

int flag=0; int Speed=200; 速度 int ct=0; 実験回数 int count; πループカウンター double pai; の近似値 double sa=1; πの近似値を求める過程で使用 /***** public void init () メソット ****************************************************************/ public void init(){ setbackground( Color.lightGray ); 背景色をグレーにする myth=null; スレッドの初期化 mybtn=new Button[ 4 ]; mybtn[ 0 ] =new Button (" 初期化 "); ボタンの実体化 mybtn[ 1 ] =new Button (" 高 速 "); mybtn[ 2 ] =new Button (" 低 速 "); mybtn[ 3 ] =new Button (" 停 止 "); mypanel=new Panel (); パネルの実体化 mypanel.setlayout( new GridLayout( 1,4 )); for ( count=0;count < =3;count++ ){ mypanel.add( mybtn[ count ]); パネルにボタンを貼り付ける setlayout( new BorderLayout ()); 全体をボーダーレイアウトにする add ("South",myPanel); パネルを南に貼り付ける mybtn[ 0 ].addactionlistener( new ActionListener (){ 初期化ボタンの定義 flag=0; ボタンの識別子 ); mybtn[ 1 ].addactionlistener( new ActionListener (){ 高速ボタンの定義 flag=1; ボタンの識別子 Speed=20; 速度 ); mybtn[ 2 ].addactionlistener( new ActionListener (){ 低速ボタンの定義 flag=2; ボタンの識別子 Speed=200; 速度 ); mybtn[ 3 ].addactionlistener( new ActionListener (){ 停止ボタンの定義 flag=3; ボタンの識別子 ); public void init() /***** public void start () メソット ***************************************************************/ public void start(){ if ( myth==null){ myth=new Thread( this ); スレッドの実体化 myth.start (); スレッドの開始 -158-

/****** public void run () メソット ********** イベントなしで動作する******************************/ public void run (){ ( ){ while true try{ myth.sleep( Speed ); catch ( InterruptedException e) { if ( flag==1 flag==2){ /***** public void paint( Graphics g ) メソット *****************************************************/ public void paint( Graphics g){ 初期状態または初期化ボタンを押したときのイベント処理 if( flag==0){ g.clearrect( 0,0,300,360 ); 全体のクリア ct=0; 第何項目までの和であるかの初期化 sa=1; πの近似値を求める過程で使用 pai=0; πの近似値の初期化 g.drawstring (" ウォーリスの公式によるπの近似 ",70-10,20+10); g.drawstring (" π=2{(2 2 4 4 6 6 )/(1 3 3 5 5 7 )",20-15,60+10) ; g.drawstring (π= " ",30-10,160); g.drawstring (" 現在 分子分母それぞれ "+" "+" 個の整数の積で",30-10,300-100); 第何項目までの和であるかを表示 第何項目までの和であるかを表示 g.drawstring ("Copyright( C) K.Niwa 2002.08",130,330-10 ); 作者表示 if( flag==0) 高速ボタンまたは低速ボタンを押したときのイベント処理 else if ( flag==1 flag==2){ if ( ct< 2147483647){ ct=ct+1; else{ flag=3; sa=sa* ((( double) 2*ct*2*ct )/(( double)( 2*ct-1 )*( 2*ct+1 ))); pai= ( double) 2*sa; g.drawstring (" ウォーリスの公式によるπの近似 ",70-10,20+10); g.drawstring (" π=2{(2 2 4 4 6 6 )/(1 3 3 5 5 7 )",20-15,60+10) ;,30-10,300-100); 第何項目までの和であるかを表示 第何項目までの和であるかを表示 g.drawstring ("Copyright( C) K.Niwa 2002.08",130,330-10 ); 作者表示 else if ( flag==1 flag==2) -159-

停止ボタンを押したときのイベント処理 if( flag==3){ g.drawstring (" ウォーリスの公式によるπの近似 ",70-10,20+10 ) ; g.drawstring (" π=2{(2 2 4 4 6 6 )/(1 3 3 5 5 7 )",20-15,60+10) ;,30-10,300-100); 第何項目までの和であるかを表示 第何項目までの和であるかを表示 g.drawstring ("Copyright( C) K.Niwa 2002.08",130,330-10 ); 作者表示 if( flag==3) public void paint( Graphics g) public class Gregory extends Applet implements Runnable (2) HTML リスト < HTML > < HEAD> <!------------------------------------------------------------------------------------------------------------------------------------- ウォーリスの公式によるπの近似 Copyright ( C) K.Niwa 2002.08.11 ---------------------------------------------------------------------------------------------------------------------------------------> < /HEAD> < BODY > < CENTER< > B > ウォーリスの公式によるπの近似 < /B> < BR>< BR> < APPLET CODE="Wourisu.class" WIDTH="300" HEIGHT="360" >< /APPLET> < /CENTER> < /BODY> < /HTML> 3.Java アプリケーション プログラムリスト Fウォーリスの公式によるπの近似 Copyright ( C) K.Niwa 2002.08.17 クラスの読み込み import java.awt.*; import java.awt.event.*; import java.lang.math; /****** public class FWourisu extends Frame implements Runnable *********************************/ public class FWourisu extends Frame implements Runnable { スレッドを使えるようにする 変数とオブジェクトの型宣言 Thread myth; スレッド型で宣言する Button[] mybtn; ボタン型配列で宣言する Panel mypanel; パネル型で宣言する int flag=0; int Speed=200; 速度 int ct=0; 実験回数 int count; πループカウンター double pai; の近似値 double sa=1; πの近似値を求める過程で使用 -160-

***** フレームとイペント処理の定義 ******************************************************* public FWourisu(){ setsize( 330+20,360 ); フレームの大きさ addwindowlistener( new WindowAdapter (){ 閉じるボタンイベント処理 public void windowclosing( WindowEvent e){ System.exit( 0 ); ); myth=null; スレッドの初期化 if ( myth==null){ myth=new Thread( this ); スレッドの実体化 myth.start (); スレッドの開始 mybtn=new Button[ 4 ]; mybtn[ 0 ] =new Button (" 初期化 "); ボタンの実体化 mybtn[ 1 ] =new Button (" 高 速 "); mybtn[ 2 ] =new Button (" 低 速 "); mybtn[ 3 ] =new Button (" 停 止 "); mypanel=new Panel (); パネルの実体化 mypanel.setlayout( new GridLayout( 1,4 )); ハ ネルをク リット レイアウトにする for ( count=0;count < =3;count++ ){ mypanel.add( mybtn[ count ]); パネルにボタンを貼り付ける setlayout( new BorderLayout ()); 全体をホ ータ ーレイアウトにする add ("South",myPanel); パネルを南に貼り付ける mybtn[ 0 ].addactionlistener( new ActionListener (){ 初期化ボタンの定義 flag=0; ボタン識別子 ); mybtn[ 1 ].addactionlistener( new ActionListener (){ 高速ボタンの定義 flag=1; ボタン識別子 Speed=20; 速度 ); mybtn[ 2 ].addactionlistener( new ActionListener (){ 低速ボタンの定義 flag=2; ボタン識別子 Speed=200; 速度 ); mybtn[ 3 ].addactionlistener( new ActionListener (){ 停止ボタンの定義 flag=3; ボタン識別子 ); public FWourisu() -161-

/***** public void run () メソット *************************************************************** public void run (){ ( ){ while true try{ myth.sleep( Speed ); catch ( InterruptedException e) { if ( flag==1 flag==2){ /****** public void paint( Graphics g ) メソット ****************************************************/ public void paint( Graphics g){ 初期状態または初期化ボタンを押したときのイベント処理 if( flag==0){ g.clearrect( 0,0,350,360 ); 全体のクリア ct=0; 第何項目までの和であるかの初期化 sa=1; πの近似値を求める過程で使用 pai=0; πの近似値の初期化 g.drawstring (" ウォーリスの公式によるπの近似 ",70-10,20+10+20); g.drawstring (" π=2{(2 2 4 4 6 6 )/(1 3 3 5 5 7 )",20,60+10+20); g.drawstring (π= " ",30-10,160); g.drawstring (" 現在 分子分母それぞれ "+" "+" 個の整数の積で" 第何項目までの和であるかを表示,30-10,300-100); 第何項目までの和であるかを表示 g.drawstring ("Copyright( C) K.Niwa 2002.08",130,330-10 ); 作者表示 if( flag==0) 高速ボタンまたは低速ボタンを押したときのイベント処理 else if ( flag==1 flag==2){ if ( ct< 2147483647){ ct=ct+1; else{ flag=3; sa=sa* ((( double) 2*ct*2*ct )/(( double)( 2*ct-1 )*( 2*ct+1 ))); pai= ( double) 2*sa; g.drawstring (" ウォーリスの公式によるπの近似 ",70-10,20+10+20); g.drawstring (" π=2{(2 2 4 4 6 6 )/(1 3 3 5 5 7 )",20,60+10+20);,30-10,300-100); 第何項目までの和であるかを表示 第何項目までの和であるかを表示 g.drawstring ("Copyright( C) K.Niwa 2002.08",130,330-10 ); 作者表示 else if ( flag==1 flag==2) 停止ボタンを押したときのイベント処理 if( flag==3){ g.drawstring (" ウォーリスの公式によるπの近似 ",70-10,20+10+20 ) ; g.drawstring (" π=2{(2 2 4 4 6 6 )/(1 3 3 5 5 7 )",20,60+10+20);,30-10,300-100); 第何項目までの和であるかを表示 第何項目までの和であるかを表示 -162-

g.drawstring ("Copyright( C) K.Niwa 2002.08",130,330-10 ); 作者表示 if( flag==3) public void paint( Graphics g) *****main メソッドでJavaアプリケーションには必ず必要である*************************** public static void main( String[] args){ Frame w=new FWourisu (); w.show (); public static void main( String[] args) public class FWourisu extends Frame implements Runnable -163-