問1

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

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

< F2D82518E9F8AD CC95BD8D7388DA93AE2E6A7464>

< F2D82518E9F8AD CC834F CC8CFC82AB82C68D4C>

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

PowerPoint Presentation

<4D F736F F F696E74202D AC C8899E D834F E >

2

< F2D89BA8EE882C E6A7464>

< F2D E E6A7464>

< F2D A839382CC906A2E6A7464>

Prog2_11th

< F2D B838A835882CC8CF68EAE2E6A7464>

< F2D B825082CC96E291E82E6A7464>

Microsoft PowerPoint - prog10.ppt

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

< F2D834F838C A815B A CC>

Microsoft PowerPoint - prog10.ppt

< F2D F B834E2E6A7464>

Microsoft PowerPoint prog1_doc2x.pptx

Prog1_12th

< F2D A838B838D96402E6A7464>

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

Java言語 第1回

Java言語 第1回

Java言語 第1回

ガイダンス

Microsoft PowerPoint - OOP.pptx

Microsoft PowerPoint prog1_doc2.pptx

Prog1_12th

ガイダンス

< F2D82518CC282CC D2E6A7464>

ソフトウェア開発方法論2

< F2D82B682E182F182AF82F12E6A7464>

< F2D8EA CE909482CC92EA82852E6A7464>

I. (i) Foo public (A). javac Foo.java java Foo.class (C). javac Foo java Foo (ii)? (B). javac Foo.java java Foo (D). javac Foo java Foo.class (A). Jav

ガイダンス

2

Java言語 第1回

< F2D92DE82E8914B82CC977088D32E6A7464>

< F2D825282CC947B909482CC A815B83682E6A>

ガイダンス

JAVA入門

ガイダンス

PowerPoint プレゼンテーション

GUIプログラムⅣ

Microsoft PowerPoint - swing3.ppt

手書認識 グラフ描画 Step2-2 手書認識 : 認識結果を PaintPanel で描画する < 属性付き文字列 AttributedString> 標準出力では分かりにくいうえに認識結果を使えないので 認識するごとに PaintPanel に文字を描画することにする ここで 数式はただの文字列

以下に java.awt.graphics クラスの主なメソッドを示す (Graphics クラスの ) メソッド drawline(int x1, int y1, int x2, int y2) drawrect(int x, int y, int width, int height) fillr

r3.dvi


ÿþ˜u#u·0¹0Æ0à0

Microsoft PowerPoint - OOP.pptx

Microsoft PowerPoint - prog11.ppt

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

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

Microsoft Word - Java3.DOC

2

Microsoft PowerPoint ppt

Animals サンプル Step3 張り付けた動物の上をクリックすると それぞれの鳴き声で鳴く その鳴く間 一定時間 ( ここでは 1 秒間 ) 画像が別のものに変わる <アニメーションの基礎 : タイマーについて> アニメーションは アプリケーションが指定する間 一定間隔でどんどん画像をおきかえ

r2.dvi

r14.dvi

Javaプログラムの実行手順

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

JavaプログラミングⅠ

基本情報STEP UP演習Java対策

2

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

2


text_13.dvi

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

Java 2 - Lesson01

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

2008 e-learning T050050

JAVA入門

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

r3.dvi

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


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

Microsoft PowerPoint - prog11.ppt

Graphical User Interface 描画する

I 4 p.2 4 GUI java.awt.event.* import /* 1 */ import mouseclicked MouseListener implement /* 2 */ init addmouselistener(this) this /* 3 */ this mousec

JavaプログラミングⅠ

text_12.dvi

PowerPoint プレゼンテーション

Microsoft PowerPoint - prog13.ppt

プログラミングA

GUIプログラムⅤ

問 次の Fortran プログラムの説明及びプログラムを読んで、設問に答えよ。

PowerPoint Presentation

Microsoft PowerPoint - prog12.ppt

r2.dvi

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

Microsoft PowerPoint - prog13.ppt

Object MenuComponent MenuBar MenuItem Menu CheckboxMenuItem

データ構造とアルゴリズム論

Animals サンプル Step 1 動物の種類を指定しておいて クリックした場所に画像を貼り付ける < レイアウトについて > 前回は ラベルやボタンの位置を座標で設定した Absolute Layout を選んだためである レイアウトは どのようにボタンなどのコンポーネントを配置するかを決定す

Microsoft PowerPoint ppt

Transcription:

2008/12/10 OOP 同演習小テスト問題 問 1. 次のプログラムの出力結果を a~d の中から選べ public class Problem1 { public static void main(string[] args){ int i =2; int j =3; System.out.println( i + j ); a) 23 b) 5 c) ij d) i+j 問 2. 次のプログラムの出力結果を a~d の中から選べ public class Problem2 { public static void main(string[] args){ int a=4; if( a>=2 ){ System.out.print("A"); else if( a<=6 ){ System.out.print("B"); if(a==4){ System.out.print("C"); a) A b) B c) C d) AB e) ABC f) AC 問 3. 次のプログラムの出力結果を a~d の中から選べ public class Problem3 { public static void main(string[] args){ for(int i = 0; i < 3; i++){ System.out.print( i ); a) 012 b) 0123 c) 12 d) 123 e) 何も表示しない 1

2008/12/10 OOP 同演習小テスト問題 問 4. 次の実行結果となるようなプログラムを作成したい プログラムの空欄 1 に入る正しい答えを 解答群 (a) ~(d) の中から選びなさい 実行結果 プログラム import java.applet.applet; import java.awt.graphics; import java.awt.color; import java.awt.dimension; public class Square extends Applet { public void paint(graphics g){ g.setcolor(color.red); 空欄 1 解答群 (a)g.drawoval(20,20,100,100); (b)g.fillrect(20,20,100,100); (c)g.drawline(20,20,100,100); (d)g.drawarc(20,20,100,100,200,200); 2

問 5. プログラムの説明とプログラムを読んで 設問に答えよ 2008/12/10 OOP 同演習小テスト問題 プログラムの説明 マウスを押した時と離した時 ウインドウに文字を描画するプログラムを考える 処理は以下の通りである ウインドウ内でマウスを押した時 マウスを押しました と表示する ウインドウ内でマウスを離した時 マウスを離しました と表示する 実行結果 マウスを押した時 マウスを離した時 プログラム import java.applet.applet; import java.awt.graphics; import java.awt.event.mouseevent; import java.awt.event.mouselistener; /* <applet code=" Mouse.class" width=300 height=300></applet> */ public class Mouse extends Applet implements MouseListener{ String s = ""; public void init(){ addmouselistener(this); public void paint(graphics g){ 空欄 2 public void mousepressed(mouseevent m){ --------- 1 --------- public void mousereleased(mouseevent m){ --------- 2 --------- 3

public void mouseentered(mouseevent m){ public void mouseexited(mouseevent m){ public void mouseclicked(mouseevent m){ 2008/12/10 OOP 同演習小テスト問題 設問 1: プログラムの空欄 2 には文字を描画する処理が入る 空欄 2 に入る正しい答えを 解答群 (a)~(d) の中から選びなさい 解答群 (a)g.drawoval(s,20,20); (b)g.fillrect(s,20,20); (c)g.drawstring(s,20,20); (d)g.drawline(s,20,20); 設問 2: 上記の実行結果となるようなプログラムを作成したい 1 ~ 2 に入る文として正しい答えを解答群 (a) (b) の中から選びなさい 解答群 (a) s = " マウスを押しました "; repaint(); (b) s = " マウスを離しました "; repaint(); 4

2008/12/10 OOP 同演習小テスト問題 問 6. 次の実行結果となるようなプログラムを作成したい プログラムの 1 ~ 4 に入る正しい答えを 解答群 (a)~(d) の中から選びなさい 実行結果 プログラム import java.awt.frame; import java.awt.graphics; import java.awt.event.windowadapter; import java.awt.event.windowevent; public class Introduction extends Frame{ Introduction(){ --------- 1 --------- addwindowlistener(new WindowAdapter(){ public void windowclosing(windowevent we){ System.exit(0); ); public void paint(graphics g){ --------- 2 --------- public static void main(string[] args){ --------- 3 --------- --------- 4 --------- 解答群 (a) Introduction intro = new Introduction(); (b) (c) g.drawstring(" 名前 : 情報太郎 ",20,60); g.drawstring(" 生年月日 :1 月 1 日 ",20,80); g.drawstring(" 学籍番号 :s0000aa",20,100); settitle(" 自己紹介 "); setsize(200,200); (d) intro.setvisible(true); 5

2008/12/10 OOP 同演習小テスト問題 問 7. 下記の図 A になるようにプログラムを作成した (A)~(D) にあてはまるものを選択肢 (1)~(7) より選べ た だし fillpolygon については下記参考を参照せよ /* Triangles.java */ /* <applet code=triangles.class width=400 height=300> </applet> */ import java.applet.applet; import java.awt.*; public class Triangles extends Applet { public void paint(graphics g) { int x [] = {200, 150, 250; // 三角形の各頂点の X 座標値 int y [] = {20, 70, 70; // 三角形の各頂点の Y 座標値 g.setcolor(color.blue); // 色を青に設定 g.fillpolygon(x, y, 3); // 三角形を描画 for (int i = 0; i < 3; i++) { (A) (B) g.setcolor(color.green); // 色を緑に設定 g.fillpolygon(x, y, 3); // 三角形を描画 for (int i = 0; i < 3; i++) { (C) (D) g.setcolor(color.yellow); // 色を黄に設定 g.fillpolygon(x, y, 3); // 三角形を描画 選択肢 (1) x[i] += 50; // X 座標値を 50 ドット増やす (2) x[i] -= 50; // X 座標値を 50 ドット減らす (3) y[i] += 50; // Y 座標値を 50 ドット増やす (4) y[i] -= 50; // Y 座標値を 50 ドット減らす (5) x[i] += 100; // X 座標値を 100 ドット増やす (6) x[i] -= 100; // X 座標値を 100 ドット減らす (7) y[i] += 100; // Y 座標値を 100 ドット増やす (8) y[i] -= 100; // Y 座標値を 100 ドット減らす 6

(9) // X 座標はそのまま (10) // Y 座標はそのまま (11) //X- Y 座標そのまま 2008/12/10 OOP 同演習小テスト問題 図 A 7

2008/12/10 OOP 同演習小テスト問題問 8. 問 7 図 Aを下記図 B( ただし 各図形の 3 頂点は図 A と同じ座標である ) になるようにするには Triangles.java を何箇所訂正し どのように変更したらよいか述べよ ただし プログラム行数は変更しない 図 B 参考 fillpolygon public abstract void fillpolygon(int[] xpoints, int[] ypoints, int npoints) x 座標と y 座標の配列で定義される閉じた多角形を塗りつぶします このメソッドは npoint ラインセグメントによって定義される多角形を描きます 最後の点と最初の点が一致 しない場合 それらを接続するラインを描画すれば図は自動的に閉じます 多角形内の領域は 偶奇塗りつぶし規則 ( 交互規則ともいう ) を使って定義されます パラメータ : xpoints - x 座標の配列 ypoints - y 座標の配列 npoints - 点の総数 8

2008/12/10 OOP 同演習小テスト問題 問 9. 以下のプログラムは 1 つのファイルに書いたプログラムで 右の実行例のように図形を描画するアプリケーションである 空欄を埋めてプログラムを完成させよ 但し 演算子等の記号以外は 次の語群のものを用いること (1) this (2) x (3) y (4) p (5) points (6) extends (7) Figure (8) drawtriangle (9) g.drawline (10) drawrectangle (11) Points (12) (int)(math.random()*200) import java.awt.*; import java.awt.event.*; // 座標を代入するクラス class Points { int x,y; Points(int x, int y){ 1 2 // 図形描画用のテンプレート abstract class Figure{ Points[] p; // 座標を設定するメソッド void setpoints(points[] points){ 3 // 描画用に共通呼び出し名にするメソッド abstract void drawfigure(graphics g); // 三角形クラス class Triangle 4 { // コンストラクタ座標点 3 つで初期化する三角形クラス Triangle(Points[] points){ 3 // 図形描画のメソッドを実装三角形を 3 つ書く public void drawfigure(graphics g){ 5 (g, p[0]); 5 (g, p[1]); 5 (g, p[2]); private void drawtriangle(graphics g, Points p){ 6 (p.x, p.y-10, p.x+10, p.y+5); // p 点の真上から右下へ 6 (p.x+10, p.y+5, p.x-10, p.y+5);// p 点の右下から左下へ 6 (p.x-10, p.y+5, p.x, p.y-10); // p 点の左下から真上へ 9

2008/12/10 OOP 同演習小テスト問題 // 四角形クラス class Square 7 { // コンストラクタ座標点 4つで初期化する四角形クラス Square(Points[] points){ 8 // 図形描画のメソッドを実装四角形を4つ書く public void drawfigure(graphics g){ 9 (g, p[0]); 9 (g, p[1]); 9 (g, p[2]); 9 (g, p[3]); private void drawrectangle (Graphics g, Points p){ //p 点から出発 10 (p.x, p.y, p.x+10, p.y); // 10 (p.x+10, p.y, p.x+10, p.y+10); // 10 (p.x+10, p.y+10, p.x, p.y+10); // 10 (p.x, p.y+10, p.x, p.y); // // フレームを作成して描画するためのクラス class DrawFigures 11 { // 図形を 4 つ定義してみた例 Figure[] Figs = 12 [4]; // 座標点を 14 個用意する Points[] p = 13 [14]; // コンストラクタで初期化等の設定をする DrawFigures(){ // 描画用の座標点をランダムに生成した見た例 for(int i=0;i<p.length; i++){ p[i]= 14 // 座標点を 3 つ 4 つの塊として 準備する Points[] trip1 ={ p[0], p[1], p[2]; Points[] trip2 ={ p[3], p[4], p[5]; Points[] sqrp1 ={ p[6], p[7], p[8], p[9]; Points[] sqrp2 ={ p[10], p[11], p[12], p[13]; // 図形を生成する Figs[0] = new Triangle(trip1); Figs[1] = new Triangle(trip2); Figs[2] = new Square(sqrp1); Figs[3] = new Square(sqrp2); // フレームサイズを 300,300 に設定する setsize(300,300); // フレームのクローズボタンを定義する ( アプリケーション終了用 ) addwindowlistener(new WindowAdapter(){ public void windowclosing(windowevent we){ System.exit(0); ); // フレームを表示する 10

2008/12/10 OOP 同演習小テスト問題 setvisible(true); // フレームが表示されると自動的に呼ばれるメソッドをオーバーライド public void paint(graphics g){ for(int i=0; i<figs.length; i++){ Figs[i].drawfigure(g); // アプリケーションのメインクラス public class DrawFiguresTest { public static void main(string[] args){ // フレームをインスタンスとして 1 つだけ生成してみる DrawFigures drawfigures = new DrawFigures(); 11

問 10. プログラムの説明とプログラムを読んで 設問に答えよ 2008/12/10 OOP 同演習小テスト問題 プログラムの説明 背景を赤色にする ボタンを押下した時に JPanel の背景が赤色になる 背景を緑色にする ボタンを押下した時に JPanel の背景が緑色になる 背景を青色にする ボタンを押下した時に JPanel の背景が青色になる 実行例 プログラム import javax.swing.*; import java.awt.*; import java.awt.event.*; public class SwingEvent extends JFrame implements ActionListener { private JPanel panel; private JButton redbutton; private JButton greenbutton; private JButton bluebutton; // コンストラクタ public 2 { // パネルの生成 panel = new 3 ; // レイアウトマネージャーの設定 panel.setlayout(new 4 ); // ボタンの生成 redbutton = new JButton(" 背景を赤色にする "); greenbutton = new JButton(" 背景を緑色にする "); bluebutton = new JButton(" 背景を青色にする "); 12

2008/12/10 OOP 同演習小テスト問題 // ボタンを追加 panel.add(redbutton); panel.add(greenbutton); panel.add(bluebutton); // コンテントペインを取得 Container contentpane = 5 ; // パネルを追加 contentpane.add(panel); // イベントリスナーの登録 1 this.setdefaultcloseoperation(jframe.exit_on_close); this.settitle("swingevent"); this.setsize(500,400); this.setvisible(true); public static void main(string[] args) { // フレームを作成 SwingEvent frame = new SwingEvent() ; public void actionperformed(actionevent e){ // イベントが指定されたボタンで発生した場合 if ( 6 == redbutton) { panel.setbackground(color.red); else if ( 6 == greenbutton) { panel.setbackground(color.green); else if ( 6 == bluebutton) { panel.setbackground(color.blue); 設問 1 1 にはイベントリスナーの登録をするための処理が入る 正しい答えを解答群(a)~(d) の中から選べ 解答群 (a) redbutton.addmouselistener (this); greenbutton.addmouselistener(this); bluebutton.addmouselistener (this); 13

2008/12/10 OOP 同演習小テスト問題 (b) redbutton. addwindowlistener (this); greenbutton. addwindowlistener (this); bluebutton. addwindowlistener (this); (c) redbutton.addactionlistener(this); greenbutton.addactionlistener(this); bluebutton.addactionlistener(this); (d) redbutton.add(this); greenbutton.add(this); bluebutton.add(this); 設問 2 2 ~ 6 に入る正しい答えを解答群(a)~(e) の中から選べ 解答群 (a)e.getsource() (b)flowlayout() (c)getcontentpane() (d)jpanel() (e)swingevent() 14