課題
多くの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言語とほとんど同じだったのでやりやすかったが、自分で問題
を考えることがいろいろと悩んだ。
考察が何を書いていいのか分からなかった。
干支を表示するプログラムはキーボードから入力した年でやりたっかた。