メソッドの定義

100 点満点 ( 合格点 80 点 )

残り時間
制限時間 12 分


テストを開始するには [テスト開始] ボタンを押してください。

問題 1.

次の様なプログラムを考えましょう。

 int a=3;
 int b=5;
 MethodA(a,b);


ここに、MethodA()は次のように定義されています。また、jTextField1はテキストフィールドコンポーネントです。

 void MethodA(int b,int a) {
  int Ans=b-a;
  jTextField1.setText(String.valueOf(Ans));
 }


このプログラムが実行された時、テキストフィールドjTextField1に表示される答えは何でしょうか?次の選択肢から正しいものを選んで下さい。

3   5   2   -2   8  

問題 2.

問題1と同じプログラムを考えます。

 int a=3;
 int b=5;
 MethodA(a,b);


ただし、今度はMethodA()を次のように記述しました。

 void MethodA(**********) {
  double Ans=x-y;
  jTextField1.setText(String.valueOf(Ans));
 }


問題1のプログラムと同じ動作をするためには、*****部にどのような式を記述すれば良いでしょう。適切なものを次の選択肢から選んで下さい。

int b,int a   int a,int b   int x,int y   int y,int x   int b,int x  

問題 3.

次の様なプログラムを考えましょう。

 int a=1;
 int b=2;
 double c;
 c=MethodA(a,b);

ここに、MethodA(a,b)は次のように二つの引数の平均値を返すメソッドとします。

 ****** MethodA(int a,int b) {
  double c=(a+b)/2.0;
  return c;
 }


このとき、MethodA()の定義を完成させるために、*****部に入れるべき適切な用語を下の選択肢から選んで下さい。

public   void   int   double   String  

問題 4.

0〜2までの乱数cを発生させ、その値によってA〜Cの3グループにクラス分けを行う次のようなプログラムを考えましょう。

 int c = (int) (***************);
 switch(c) {
 case 0:
  jTextField1.setText("あなたはAグループです。");
  break;
 case 1:
  jTextField1.setText("あなたはBグループです。");
  break;
 case 2:
  jTextField1.setText("あなたはCグループです。");
  break;
 }

このとき、*****部に入る適切な式を次の選択肢から選んで下さい。

Math.random()   2*Math.random()   3*Math.random()   Math.random(2)   Math.random(3)  

問題 5.

jButton1、jButton2、jButton3の3つのボタンをクリックしたときのイベントハンドラを、それぞれ次のように記述しました。ここに、変数aをインスタンス変数として宣言しています。

 int a=1;
 void jButton1_actionPerformed(ActionEvent e) {
  a=a+1;
 }

 void jButton2_actionPerformed(ActionEvent e) {
  a=a*2;
 }

 void jButton3_actionPerformed(ActionEvent e) {
  jTextField1.setText(String.valueOf(a));
 }

このとき、jButton1→jButton2→jButton3の順番でクリックした時に、テキストフィールドjTextField1に表示される結果は何でしょうか?次の選択肢から選んで下さい。

1   2   3   4   5  

問題 6.

問題5のプログラムを用いて、今度はjButton2→jButton1→jButton3の順番でクリックしました。この時、テキストフィールドjTextField1に表示される結果は何でしょうか?次の選択肢から選んで下さい。

1   2   3   4   5  

問題 7.

問題5のプログラムを今度は次のように書き換えました(jButton1のイベントハンドラのみ変更)。

 int a=1;
 void jButton1_actionPerformed(ActionEvent e) {
  int a=0;
  a=a+2;
 }

 void jButton2_actionPerformed(ActionEvent e) {
  a=a*2;
 }

 void jButton3_actionPerformed(ActionEvent e) {
  jTextField1.setText(String.valueOf(a));
 }


このとき、jButton1→jButton2→jButton3の順番でクリックした時に、テキストフィールドjTextField1に表示される結果は何でしょうか?次の選択肢から選んで下さい。

1   2   3   4   5  

問題 8.

問題7のプログラムを今度は次のように書き換えました(jButton1とjButton2のイベントハンドラを変更)。

 int a=1;
 void jButton1_actionPerformed(ActionEvent e) {
  a=a+2;
 }

 void jButton2_actionPerformed(ActionEvent e) {
  int a=2;
  a=a*2;
 }

 void jButton3_actionPerformed(ActionEvent e) {
  jTextField1.setText(String.valueOf(a));
 }

このとき、jButton1→jButton2→jButton3の順番でクリックした時に、テキストフィールドjTextField1に表示される結果は何でしょうか?次の選択肢から選んで下さい。

1   2   3   4   5  

お疲れ様でした。「採点」ボタンを押して採点してください。


結果: