課題
多くのJava制御文を用いてオリジナルのJavaアプリケーションによる初級問題を作成し、模範解答例を示せ。
問題
1.for文を用いて九九を完成させなさい
2.if文を用いて8X7と55どちらが大きいか判断しなさい
3.switch文を用いて自分の干支を表示しなさい
4.while文を用いて1から100までの和を表示しなさい
5.do~while文を用いて1から100までの和を表示しなさい
問題1
プログラム---------------------------------
class sample1
{
public static void main(String args[])
{
for(int i=1; i<=9; i++){
for(int j=1; j<9; j++){
System.out.print(i*j+ "\t");
}
System.out.print("\n");
}
}
}
実行結果-----------------------------------
j03009% java sample1
1 2 3 4 5 6 7 8
2 4 6 8 10 12 14 16
3 6 9 12 15 18 21 24
4 8 12 16 20 24 28 32
5 10 15 20 25 30 35 40
6 12 18 24 30 36 42 48
7 14 21 28 35 42 49 56
8 16 24 32 40 48 56 64
9 18 27 36 45 54 63 72
--------------------------------------------
問題2
プログラム----------------------------------
class sample2
{
public static void main(String args[])
{
int a, b, c;
a=7 ; b=8 ; c=55;
System.out.println("a="+a+" b="+b+" c="+c);
if (a*b>c)
System.out.println("a*b>c");
else if (a*b=c)
System.out.println("a*b=c");
else
System.out.println("a*b<c");
}
}
実行結果-----------------------------------
java sample2
a=7 b=8 c= 55
a*b>c
-------------------------------------------
問題3
プログラム---------------------------------
class sample3
{
public static void main(String args[])
{
System.out.println("1985 is");
int a;
a=1985;
switch( a%12){
case 0 :
System.out.println("SARU DOSI\n");
break;
case 1 :
System.out.println("TORI DOSI\n");
break;
case 2 :
System.out.println("INU DOSI\n");
break;
case 3 :
System.out.println("INOSISI DOSI\n");
break;
case 4 :
System.out.println("NEZUMI DOSI\n");
break;
case 5 :
System.out.println("USI DOSI\n");
break;
case 6 :
System.out.println("TORA DOSI\n");
break;
case 7 :
System.out.println("USAGI DOSI\n");
break;
case 8 :
System.out.println("TATU DOSI\n");
break;
case 9 :
System.out.println("HEBI DOSI\n");
break;
case 10 :
System.out.println("UMA DOSI\n");
break;
default :
System.out.println("HITUJI DOSI\n");
break;
}
}
}
実行結果----------------------------------------
java sample3
1985 is
USI DOSI
-------------------------------------------------
問題4
プログラム---------------------------------------
class sample4
{
public static void main (String args[])
{
int x=0,i=1;
while(i<=100){
x=x + i;
++i;
}
System.out.println("wa="+x);
}
}
実行結果-----------------------------------------
java sample4
wa=5050
-------------------------------------------------
問題5
class sample5
{
public static void main (String args[])
{
int x=0,i=1;
do{
x=x + i;
++i;
}while(i<=100);
System.out.println("wa="+x);
}
}
実行結果-----------------------------------------
java sample5
wa=5050
-------------------------------------------------
考察
for文
javaでもcと同じように繰り返しの意味がある使い方もほぼ同じ
for(初期化の式;繰り返すかどうか調べる式;変化のための式)
文 ここを繰り返す;
if文
if(条件)
文 条件がtrueのとき処理される;
if~else文
if(条件)
文1
else
文2
条件がtrueのとき文1、falseのとき文2を実行する
switch文
いくつかの分岐があるとき便利
breakがないと全て処理する
switch(式){
case 値1:
文1 式の評価が値1だった場合に処理される
break;
case 値2:
文2 式の評価が値2だった場合に処理される
break;
default:
文3 式の評価がいずれでもなかった場合処理される
break;
}
break文
処理の流れを強制的に終了し、そのブロックからぬける
while文
for文と同じように繰り返すことができる
while(条件){
文 条件がtrueであればここが繰り返される;
}
do~while文
while文と似ている。違いは条件をあとに付けることぐらい
do{
文 条件がtrueであればここが繰り返される;
}while(条件);
反省・感想
今回は制御文だったのでc言語とほとんど同じだったのでやりやすかったが、自分で問題
を考えることがいろいろと悩んだ。
考察が何を書いていいのか分からなかった。
干支を表示するプログラムはキーボードから入力した年でやりたっかた。