1. 程式人生 > >switch 根據鍵盤錄入成績 顯示分數及判斷等級(第二次)

switch 根據鍵盤錄入成績 顯示分數及判斷等級(第二次)

//輸入101或1-9都會提示錯誤,好像程式碼好多if優化求優化方法

package Day;


import java.util.Scanner;

public class Test_09 {
// 需求分析:根據成績的範圍80-89、70-79規則,通過判斷十位上的數字執行對應的case輸出
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
do {
System.out.print("請輸入成績:");
int i = sc.nextInt();
if (i >= 10 & i<=100) {// 如果大於等於10且小於等於100就執行下面的,否則提示 "輸入錯誤!"
switch (i / 10 % 10) {// 這裡獲取的值是獲取十位上的數
case 1:
case 2:
case 3:
case 4:
case 5:
System.out.println("成績是:" + i + "等級E");
break;
case 6:
if (i == 60 | i <= 69) {
System.out.println("成績是:" + i + "等級D");
}
break;
case 7:
System.out.println("成績是:" + i + "等級C");
break;
case 8:
System.out.println("成績是:" + i + "等級B");
break;
case 9:
if (i >= 90) {
System.out.println("成績是:" + i + "等級A");
} else {
System.out.println("輸入異常");
}
break;
default:
if (i == 100) {// 使用default的特性,才能在此實現判斷100
System.out.println("成績是:" + i + "等級A");
}else{
System.out.println("輸入錯誤!");
}
}//switch
}else{//if
System.out.println("輸入錯誤!");
}
System.out.println("是否繼續? y/n :");
}while (sc.next().charAt(0) == 'y');

}
}