-3
我得到了以下的問題:輸入姓名,年級,然後打印的姓名和分類等級
編寫提示用戶輸入的10名學生 及其成績的名字作爲一個字符串分隔的Java程序「」 。對於每個學生,打印出 他的名字和分類成績。 **注意:用於循環和開關。 **提示:A(90-100),B(80-89),C(70-79),d(60 - 69)
Sample Run:
Student1: Sara Alhazmi,88
Output:
Sara Alhazmi : B
Student2: Nada Alamri,95
Output:
Nada Alamri : A
(**Repeated 10 times)
下面是我的解決辦法: 「糾正我的錯誤後」 感謝helpe :)
import java.util.*;
public class students{
public static void main(String args[])
{ Scanner input = new Scanner (System.in);
int f = 10;
for (int i = 1; i <= f; i++)
{ System.out.println("Student" + i + ":");
String s = input.nextLine();//s=name student and
String name = s.substring(0, s.indexOf(","));//name student
String sgrade = s.substring(s.indexOf(",")+1);//grad student
double grade = Double.parseDouble(sgrade)/10;// I can not use string with loop so I convert to double because I Divided
int ingrade = (int)Math.round(grade); // then I convert to integer
switch (ingrade) {
case 10:
System.out.println(name + ": A");
break;
case 9:
System.out.println(name + ": A");
break;
case 8:
System.out.println(name + ": B");
break;
case 7:
System.out.println(name + ": C");
break;
case 6:
System.out.println(name + ": D");
break;
}//end while loop
}//end for loop
}// end main
}// end class
你的問題是什麼,hanooee? –
你的問題是你的switch語句只查找不同的值100,89,79,69。其他的都會得到一個f(應該是大寫的) – KeepCalmAndCarryOn