2

Similar documents
2

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

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

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

2

2

2

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

問1

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

Java言語 第1回

< F2D B838A835882CC8CF68EAE2E6A7464>

< F2D834F838C A815B A CC>

ガイダンス

ガイダンス

ガイダンス

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

ガイダンス

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

Java言語 第1回

ガイダンス

< F2D82518CC282CC D2E6A7464>

ソフトウェア基礎演習 課題

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

< F2D F B834E2E6A7464>

< F2D92DE82E8914B82CC977088D32E6A7464>

目 次 Java GUI 3 1 概要 クラス構成 ソースコード例 課題...7 i

< F2D82B682E182F182AF82F12E6A7464>

< F2D B825082CC96E291E82E6A7464>

Java 2 - Lesson01

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

< F2D825282CC947B909482CC A815B83682E6A>

< F2D E E6A7464>

JavaプログラミングⅠ

Thread

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

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

Microsoft PowerPoint - OOP.pptx

Programming-C-9.key

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

text_12.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

< F2D8EA CE909482CC92EA82852E6A7464>

:30 12:00 I. I V II. III. IV. ( a d) V. VI : A ActionListener aa addactionlistener AE ActionEvent K KeyListener ak addkeyliste

Java 2 - Lesson01

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

< F2D82518E9F8AD CC834F CC8CFC82AB82C68D4C>

Microsoft PowerPoint - prog13.ppt

プログラミングA

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

Microsoft PowerPoint - prog13.ppt

< F2D89BA8EE882C E6A7464>

< F2D A838B838D96402E6A7464>

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

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

< F2D82518E9F8AD CC95BD8D7388DA93AE2E6A7464>

r4.dvi

text_13.dvi

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


B 10 : N ip2003f10.tex B : 9/12/ :02 p.1/71

Microsoft PowerPoint - prog12.ppt

GUIプログラムⅤ

r8.dvi

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

PowerPoint Presentation

< F2D A839382CC906A2E6A7464>

PowerPoint Presentation

基本情報STEP UP演習Java対策

r3.dvi

K227 Java 2

:30 12:00 I. I VII II. III. IV. ( a d) V. VI : this==null, T == N A ActionListener A addactionlistener C class D actionperforme

:30 12:00 I. I VII II. III. IV. ( a d) V. VI : this==null, T == N A ActionListener A addactionlistener C class D actionperformed

例外(exception)とは何か

Java言語 第1回

JAVA入門

Java プログラミング Ⅰ 7 回目 switch 文と論理演算子 条件判断文 3 switch 文 switch 文式が case の値と一致した場合 そこから直後の break; までを処理し どれにも一致しない場合 default; から直後の break; までを処理する 但し 式や値 1

r14.dvi

PowerPoint プレゼンテーション

:30 12:00 I. I VII II. III. IV. ( a d) V. VI : this==null, T == N A ActionListener A addactionlistener C class D actionperforme

< F2D BCA82CC978E89BA82CC8EC08CB12E6A7464>

Java言語 第1回

text_10.dvi

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 +=

アジェンダ 1 グラフィカルなインタフェース GUI(Graphical User Interface) の基礎 2 Swing を利用する Swing の基礎知識 2

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

PowerPoint プレゼンテーション

Microsoft PowerPoint prog1_doc2x.pptx

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

<4D F736F F F696E74202D AC C8899E D834F E >

Microsoft PowerPoint ppt

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

アプレットの作成

r2.dvi

Microsoft PowerPoint - swing2.ppt

:30 12:00 I. I VII II. III. IV. ( a d) V. VI : this==null, T == N A ActionListener A addactionlistener C class D actionperformed

JavaプログラミングⅠ

JAVA入門

Object MenuComponent MenuBar MenuItem Menu CheckboxMenuItem

JavaプログラミングⅠ

Transcription:

問題 1 次の設問 1,2 に答えよ 設問 1 1 から 10 まで数えながら その数が偶数か奇数かを表示する JAVA プログラムの一部である 空欄に入るべき文字列は何か for( int i=1; 1 ; i++){ System.out.print(i); if( 2 == 0){ System.out.println(" is Even"); else{ System.out.println(" is Odd"); 設問 2 100 回ループするような処理を行う JAVA プログラムの一部である 空欄に入るべき文字列は何か 3 ( int i=0; i< 4 ; i++ ) { System.out.println(i+1+" 回目 "); 設問 3 1 を 2 倍して表示し 1000 より大きくなったらループから抜ける JAVA プログラムの一部である 空欄に入るべき文字列は何か double x = 1.0; while( 5 ) { System.out.println( x ); x = x * 2 ; 問題 2 設問 1~5 のプログラムを実行した時の画面に表示される値を答えよ 設問 1 public class Problem1 { public static void main(string[] args){ int i=2; int j=3; System.out.println("i"+j); 設問 2 public class Problem2 { public static void main(string[] args){ int a=6; if((a>=2)&&(a<=5)){ System.out.print("A"); else if(a!=4){ System.out.print("B"); if(a==6){ System.out.print("C"); 1

設問 3 public class Problem3 { public static void main(string[] args){ for(int i=1; i<3; i++){ System.out.print(i-1); 設問 4 import java.io.*; public class Problem4 { public static void main(string args[]) throws Exception { int s = 0; for(int i=0; i<4; i++){ for(int j=0; j<7; j++){ s = s + 1; System.out.println("s="+s); 設問 5 import java.io.*; public class Problem5 { public static void main(string args[]) throws Exception { int i = 1; int s = 0; while(i<1){ s = s + 1; i = i * 2; System.out.println("s="+s); 問題 3 次に設問 1~3 の 1 ~ 15 を解答群から選んで, プログラムを完成させよ 設問 1 2 人のユーザが1つの口座を共有し, 各ユーザは共有している口座に対して 100 円を 3 回ずつ預金するプログラムである class Bank { private int balance = 0; public synchronized void furikomi(string s, int a) { int tmp = balance; System.out.println(s + " さんから " + a + " 円の振込みがありました."); 1 System.out.println(" 現在の残高は " + balance + " 円です."); public int getbalance() { 2 2

class Person extends Thread { 3 private String name; public Person(Bank b, String s) { 4 name = s; // 預金処理 ( スレッド実行 ) 5 for(int i=0; i < 3; i++) { 6 // 同期テスト用 sleep try{ 7 catch(interruptedexception e){ public class BankTest { public static void main(string[] args) { String a = "Kazuo"; String b = "Hanako"; 8 Person prsn1 = new Person(bnk, a); 9 Person prsn2 = new Person(bnk, b); 10 try { prsn1.join(); prsn2.join(); catch(interruptedexception e) { e.printstacktrace(); System.out.println(" 現在の残高は " + bnk.getbalance() + " 円です."); 設問 2 ボタンが押されたときに ボタンに表示されている start が [stop] に変わるプログラムである import java.applet.applet; import java.awt.button; import java.awt.event.actionlistener; import java.awt.event.actionevent; public class AppletProg01 extends Applet implements 11 { 3

Button bt; public void init(){ bt = new Button("start"); add(bt); bt. 12 (this); public void 13 (ActionEvent ae){ bt.setlabel("stop"); 設問 3 "It is " + num ( ここで num=1~9) を出力するプログラムである import java.applet.applet; public class AppletProg02 extends 14 implements Runnable{ int num; public void init(){ Thread th; th = new Thread(this); th.start(); public void run(){ try{ for(int i = 0; i < 10; i++){ num = i; repaint(); Thread.sleep(1000); catch(interruptedexception e){ e.printstacktrace(); public void 15 { String str = "It is " + num; g.drawstring(str, 10, 10); 4

問題 3 解答群 ア ActionListener イ actionperformed ウ addactionlistener エ Applet オ balance = tmp + a; カ Bank bnk = new Bank(); キ bnk = b; ク bnk.furikomi(name, 100); ケ paint(graphics g) コ private Bank bnk; サ prsn1.start(); シ prsn2.start(); ス public void run() { セ return balance; ソ sleep(2000); 問題 4 表示のボタンを押すと 1 回実行 2 回実行 と表示され クリアボタンを押すと表示が消えるプログラムである 1 ~ 5 に入る適切なコードを解答群の中から選んでプログラムを完成させよ import java.awt.*; import java.awt.event.*; import java.lang.*; import javax.swing.*; class Figure extends JFrame implements ActionListener{ JFrame frame; JPanel panel; JScrollPane scroll; JTextArea tarea; JButton botn1; JButton botn2; int pos = 0; public Figure(String title) { frame = new JFrame(); panel = new JPanel(new FlowLayout(FlowLayout.CENTER)); 1 scroll = new JScrollPane(tarea, JScrollPane.VERTICAL_SCROLLBAR_ALWAYS, 5

2011/01/13 OOP 同演習小テスト問題 JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED); botn1 = new JButton(" 表示 "); botn2 = new JButton(" クリア "); panel.add(botn1); panel.add(botn2); // JFrame のコンテントペインの取得 Container con = frame.getcontentpane(); // コンテントペインに JPanel, JScrollPane を配置 2 con.add(panel, BorderLayout.SOUTH); con.add(scroll, BorderLayout.CENTER); botn1.addactionlistener(this); botn2.addactionlistener(this); // フレームのセットアップ frame.setbackground(color.white); frame.setsize(320, 240); frame.settitle(title); frame.setdefaultcloseoperation(jframe.exit_on_close); 3 public void actionperformed(actionevent e) { if (botn1 == e.getsource()) { pos++; 4 tarea.append(str); tarea.setcaretposition(tarea.gettext().length()); else if (botn2 == e.getsource()){ tarea.settext(""); pos = 0; public class FigureTest { static public void main(string args[]) { Toolkit.getDefaultToolkit().setDynamicLayout(true); 5 解答群 ( ア )con.setcolor(new Color()); ( イ )con.setlayout(new BorderLayout()); ( ウ )con.setframe(new BorderLayout()); ( エ )String str = pos; ( オ )String str = pos+" 回実行 \n"; ( カ )tarea = new JText(); ( キ )tarea = new JTextArea(); ( ク )Figure figure = new Figure(); ( ケ )Figure figure = new Figure(" ボタン処理 "); ( コ )Figure.setVisible(true); ( サ )frame.setvisible(true); 6

問題 5 次に設問 1~5 の空欄 2011/01/13 OOP 同演習小テスト問題に解答群から適切なものを選べ 設問 1 友達の情報を設定して出力するプログラムである ここで, このプログラムは, 次の 2 つのクラスで構成される (1) 友達の情報を格納する Friend クラス (2)main メソッドを持ち,Friend クラスを使用して処理を行うクラス 次の実行結果になるようにプログラム群 a~h を用いて (2) のプログラムの完成させる場合, プログラムの構成順 序として正しい答えは 1 である 実行結果 taro:20 jiro:16 (1) のプログララム class Friend{ String name; int age; プログラム群 import java.io.*; a public class Prog5_1 { public static void main(string args[]){ f1.age = 20; b System.out.println(f1.name+":"+f1.age); c Friend f1 = new Friend(); d e f g h f1.name = "taro"; f2.name = "jiro"; f2.age = 16; Friend f2 = new Friend(); System.out.println(f2.name+":"+f2.age); 設問 1 解答群 ア a c b g d e h f イウエオ a c d b e g h f a c d b g e h f a g d b c e h f a g b d c e h f 設問 2 配列に格納されているデータの最大値 最小値を求めるプログラムである ここで, このプログラムは, 次の 2 つのクラスで構成される (1) 最大値 最小値を処理する MaxMin クラス getmax メソッド : 最大値を取得する getmin メソッド : 最小値を取得する (2)main メソッドを持ち,MaxMin クラスを使用して処理を行うクラス 7

次の実行例の結果になるようにプログラム群 a~i を用いて (1) プログラムの完成させる場合, プログラムの構成順序として正しい答えは 2 である 実行例 最大値 = 12 最小値 = -9 (2) のプログララム public class Prog5_2 { public static void main(string[] args){ int[] num={6,3,1,-9,2,8,-2,4,12,-4,7; System.out.println(" 最大値 = " + MaxMin.getMax(num)); System.out.println(" 最小値 = " + MaxMin.getMin(num)); プログラム群 for(int i=1;i<val.length;i++){ a if(max < val[i]) public static int getmin(int[] val){ b int min = val[0]; // 先頭の要素を設定 return min; c class MaxMin { d public static int getmax(int[] val){ int max = val[0]; // 先頭の要素を設定 for(int i=1;i<val.length;i++){ e if(min > val[i]) return max; f max = val[i]; g min = val[i]; h i 設問 2 解答群 アイウエ d a h f b e g c i d a g c b e h f i d a g f b e h c i d g a f b h e c i 8

設問 3 下記の実行結果となるようなプログラムを作成したい に入る適切なコードを解答群の中から選んでプログラムを完成させよ ( 実行により Hi! Hello の表示位置はかわることは有り得るがその点は考慮しなくて良い ) // スレッドクラス class MyThread extends Thread{ //run メソッド 1 System.out.println("Tread Start!"); // 5 回 500 ミリ秒毎に "Hello" と表示する for(int i = 0 ; i < 5 ; i++ ){ System.out.println("Hello"); try{ Thread.sleep(500); catch(exception e){ System.out.println("Tread End!"); // テストメイン public class Test{ public static void main(string args[]){ 2 3 4 実行結果 C:\ Java >java Test Hi! Tread Start! Hello Hello Hi! Hello Hello Hi! Hello Tread End! Hi! Hi! 設問 3 解答群 ア public void run(){ // スレッドを開始イ t.start(); // スレッドクラスのインスタンスを作成ウ MyThread t = new MyThread(); // 1 秒毎に "Hi!" と 5 回表示する for(int i = 0 ; i < 5 ; i++ ){ System.out.println("Hi!"); エ try{ Thread.sleep(1000); catch(exception e){ 9

設問 4 Frame メニューバーを生成し メニュー バーにメニューを1つ加えるプログラムである 次の実行結果になるようにプログラム群 a~g を 用いてプログラムの完成させる場合, プログラム の構成順序として正しい答えは 4 で ある プログラム群 menubar.add(menu); // メニューバーにメニュー項目タイトル名を追加 a setjmenubar(menubar); // フレームにメニューバーを追加 settitle(title); // フレームのタイトルをセット b private JMenuBar menubar; private JMenu menu; MyJFrame01(String title){ c import java.awt.*; import javax.swing.*; class MyJFrame01 extends JFrame { public static void main(string[] args){ d MyJFrame01 frame = new MyJFrame01(" メニュー作成 _01"); // フレームのインスタンス生成 e public class MenuProg01 { setsize(400,400); // フレームの大きさを設定 f setdefaultcloseoperation(jframe.exit_on_close); // 閉じるボタンの動作を設定 setvisible(true); // フレームを表示 g menubar = new JMenuBar(); // メニューバーの生成 menu = new JMenu(" メニュー "); // メニュー項目タイトルの生成 設問 4 解答群 アイウエ c b a g e f d c b a f g e d c b g f e a d c b g a f e d 10

設問 5 Frame メニューバーを生成し メニューバーにメニュー メニューにメニューアイテムを1つ加 えるプログラムである 次の実行結果になるようにプログラム群 a~i を用いてプログラムの完成させる場 合, プログラムの構成順序として正しい答えは 5 である ここで メニューは次の順番で作成 する メニュー生成の順番 1 フレームタイトル設定 2 フレームの大きさ設定 3 フレームを閉じるボタン動作設定 4 メニューバー生成 5 メニュー生成 6 メニュー配置 7 メニューアイテム生成 8 メニューアイテム配置 9 メニューバー設定 10 パネル生成 11 ボタン生成 12 ボタン配置 13 コンテントペイン取得 14 パネル配置 プログラム群 import java.awt.*; import javax.swing.*; a public class MenuProg02 extends JFrame{ public static void main(string args[]){ setjmenubar(menubar); b JPanel panel = new JPanel(); JMenu menu1 = new JMenu("File"); JMenu menu2 = new JMenu("Edit"); c menubar.add(menu1); menubar.add(menu2); MenuProg02 frame = new MenuProg02(" タイトル "); frame.setvisible(true); // フレーム表示 d MenuProg02(String title){ // メニュー作成 JButton button = new JButton("button"); panel.add(button); e Container contentpane = getcontentpane(); contentpane.add(panel, BorderLayout.CENTER); menu1.add(menuitem1); f menu1.add(menuitem2); menu1.add(menuitem3); JMenuItem menuitem1 = new JMenuItem("New"); g JMenuItem menuitem2 = new JMenuItem("Open"); JMenuItem menuitem3 = new JMenuItem("Close"); settitle(title); setbounds(100, 100, 300, 250); h setdefaultcloseoperation(jframe.exit_on_close); JMenuBar menubar = new JMenuBar(); i 11

設問 5 解答群 アイウエオ a d b e h c g f i a d h b e c g f i a d h c g f b e i a d h c f g b e i a d h g f c b e i 12

解答欄 学生番号 氏名 問題 1( プログラムを記入 ) 1 2 3 4 5 問題 2( 実行結果を記入 ) 1 2 3 4 5 問題 3( 記号ア~ソを記入 ) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 問題 4( 記号ア~サを記入 ) 1 2 3 4 5 問題 5( 記号ア~オを記入 ) 1 2 3 1: 2: 3: 4: 4 5 13