星期六, 12月 25, 2010

20101225 Java 上課小記

20101225

Loop 迴圈
  • 讓某個語法重複執行
  • for 的後面沒有 ; 所以要執行的指令如果超過兩句, 要寫大括號確定執行範圍,不然只執行第一個指令.


for(變數初值設定條件; 變數增量運算)
{
        敘述
}

while迴圈
  • 條件成立時執行,直到條件被破壞


while(條件)
{
     
敘述
}


Lab: while
public class WhileLoop {
   
   public static void main(String[] args) {

       int i=0;

       while(i<10)
       {
           System.out.print("*");
           i++;
       }

   }

Lab: while

import java.util.Scanner;

public class Input2 {

   public static void main(String[] args) {
       Scanner sc = new Scanner(System.in);

       int w,h,ans=1;

       while(ans == 1)
       {
    System.out.print("Height:");
    h = sc.nextInt();
    System.out.print("Weight:");
    w = sc.nextInt();

    double bmi = w / Math.pow(h/100.0,2);
    System.out.println("BMI="+bmi);
       System.out.println("continue ?: (Type 1:continue 0:exit)");
       ans = sc.nextInt();
       }
   }

}


do  while
  • 先敘述再判斷


語法
do
{
    敘述
}while(條件);

Lab: do  while

import java.util.Scanner;

public class Input2 {

    public static void main(String[] args) {
       Scanner sc = new Scanner(System.in);

       int w,h,ans=1;

       while(ans == 1)
       {
   System.out.print("Height:");
   h = sc.nextInt();
   System.out.print("Weight:");
   w = sc.nextInt();

   double bmi = w / Math.pow(h/100.0,2);
   System.out.println("BMI="+bmi);
           do
           {
           System.out.println("continue ?: (Type 1:continue 0:exit)");
           ans = sc.nextInt();
           }while( !(ans == 0 | ans == 1));
       }
    }

}


Lab:  骰子

public class Loop {
   public static void main(String[] args) {
       //Math.random() 產生 0 ~ 1 之前的浮點數
        // *6 -- 6 為間距,  1 為 起始值
       int d = (int)(Math.random()*6)+1;
       System.out.println(d);
    }
}


Lab: 四顆骰子

public class Loop {
   public static void main(String[] args) {
       //Math.random() 產生 0 ~ 1 之前的浮點數
        // *6 -- 6 為間距,  1 為 起始值
       int d;
       
           for(int i = 0; i<4; i++)
           {
           d = (int)(Math.random()*6)+1;
           System.out.println(d);
           }
    }
}


Lab: 四顆骰子 並統計總數

public class Loop {
   public static void main(String[] args) {
       //Math.random() 產生 0 ~ 1 之前的浮點數
        // *6 -- 6 為間距,  1 為 起始值
       int d,s=0;
       
           for(int i = 0; i<4; i++)
           {
           d = (int)(Math.random()*6)+1;
           System.out.println(d);
           s += d;
           }
      System.out.println("Sum="+s);
    }
}


Lab:


public class Loop {
   public static void main(String[] args) {
       //d 用來產生點數, s用來加總, c 用來算次數
       int d,s=0,c=0;
        
        //計算 丟幾次骰子, 才丟到 16, 沒有丟到16 就繼續
       while(s != 16)
       {
               //每丟完一次, s 都要歸零
               s=0;
               //利用 for 迴圈 丟四個骰子
               for(int i = 0; i<4; i++)
               {
                    //Math.random() 產生 0 ~ 1 之前的浮點數
               // *6 -- 6 為間距,  1 為 起始值
               d = (int)(Math.random()*6)+1;
               //列出骰子點數
               System.out.println(d);
               //加總 骰子 的點數
               s += d;
               }
               //每丟完一次, 累積丟骰子的次數
               c++;
           //列出 骰子的總數
          System.out.println("Sum="+s);
           //列出第幾次丟骰子
          System.out.println("第"+c+"次");
           }
     //列出 總共丟幾次
    System.out.println("總共:"+c+"次");
    }
}

if 判斷式

語法
if(條件)
{
    敘述
}
else
{
    敘述
}

Lab: if 判斷式

import java.util.Scanner;
public class Ex_If {
   public static void main(String[] args)
   {
       //利用 Scanner 產生一個輸入
       Scanner sc = new Scanner(System.in);
       System.out.print("Enter Number:");
       //定義 n 為使用者輸入的數字
       int n = sc.nextInt();
       if(n == 0)
           System.out.println("Zero");
       else
           
               //將 n 除以2 判斷 餘數是否為 0
           if(n % 2 == 0)
               //如果餘數為 0 就是偶數
               System.out.println("偶數");
           else
               //如果餘數不0 就是奇數
               System.out.println("奇數");
   }
}


 




沒有留言: