天天看點

第四周Java作業

一、循環結構

1、while語句

第四周Java作業

while語句程式流程圖

例子1:WhileDemo.java

/*
  WhileDemo.java
  輸入100行“好好學習,天天向上!”
*/
public class WhileDemo {
  public static void main(String[] args) {
    int i = 1;
    while (i<=100) {
      System.out.println("第"+i+"次輸出:好好學習,天天向上!");
      i++;
    }
    
    System.out.println("循環結束後,i="+i);
  }
}      

 2、do...while語句

第四周Java作業

do...while語句的流程圖

例子2:DoWhileDemo.java

/*
  DoWhileDemo.java
  輸入姓名,直到輸入q才結束
*/

import java.util.Scanner;

public class DoWhileDemo {
  public static void main(String[] args) {
    String myName;
    Scanner input = new Scanner(System.in);
    do{
      System.out.print("請輸入姓名(輸入q退出):");
      
      myName = input.next();
    }while (!myName.equals("q"));
    
    System.out.println("結束程式!");
  }
}      

3、For語句

For語句流程圖

例子3: ForDemo.java

/*
  ForDemo.java
  本例子計算從1加到100,如果和達到1000就退出
*/
public class ForDemo {
  public static void main(String[] args) {
    int s = 0;
    for(int i=1;i<=100;i++) {
      s += i;
      if (s>=1000)
        break;
    }
    System.out.println("i="+i+",s="+s);
  }
}      

 例子4: Demo4.java,列印一個金字塔,學習循環結構中的嵌套用法:

第四周Java作業
/*
  Demo4.java
  本例子為列印一個由★組成的金字塔,了解循環中的嵌套用法。
*/
public class Demo4 {
  public static void main(String[] arg) {
    for(int row=1;row<=5;row++){//外層循環,控制行數
      for(int x=1;x<=5-row;x++){//控制每行前面輸出的空格數
        System.out.print("  ");//輸出兩個空格,因為一個★占兩個空格的位置
      }
      for(int col=1;col<=2*row-1;col++){//内層循環,控制列數(即每行列印的五角星個數)
        System.out.print("★");
      }
      System.out.println("");//每行的内容列印完成後,換行
    }
  }
}      

二、Java的常用操作類----Scanner

/*
    ScannerDemo.java
    java的輸入測試Demo
*/
import java.util.Scanner;

public class ScannerDemo {
    public static void main(String[] arg) {
        int x,y;
        Scanner input = new Scanner(System.in);
        System.out.print("請輸入被除數:");
        if (input.hasNextInt()) {
            x = input.nextInt();
        }
        else{
            System.out.println("輸入的資料不是整數!");
            return;
        }
            
        System.out.print("請輸入除數:");
        if (input.hasNextInt()) {
            y = input.nextInt();
            if (y==0){
                System.out.println("除數不能為0!");
                return;
            }
        }
        else{
            System.out.println("輸入的資料不是整數!");
            return;
        }
        
        System.out.println(String.format("%d/%d=%d",x,y,x/y));
        
        System.out.print("請輸入小數:");
        double d1 = input.nextFloat();
        System.out.println("d1="+d1);

        System.out.print("請輸入文字(不包含空格):");
        String s1 = input.next(); //可以擷取不包括空格的字元串
        System.out.println("s1="+s1);

        System.out.print("請輸入一行文字:");
        String s2 = input.nextLine(); //可以擷取包括空格的字元串
        System.out.println("s2="+s2);
    }
}      

三、示範DEMO源代碼在github上的倉庫位址: