我寫了一個計算成績的代碼。但是如果我在控制臺中輸入 9999,那么程序應該會中斷而沒有任何輸出。我該怎么做?我應該使用哪個循環?我嘗試了一個while循環,但程序仍然給我輸出..這是我的while循環代碼,它不能正常工作。除了 while 循環外,該程序可以工作。我怎樣才能更好地寫這個?import java.util.Scanner;public class average { public static double average (double [] grade ){ double sum = 0; int number = grade.length; for(int i = 0; i<grade.length; i++){ sum+=grade[i]; } double average = sum / number; return average; } public static void main (String [] args){ Scanner s = new Scanner(System.in);System.out.println("How much grades you add?");int number = s.nextInt();while(number == 9999){ break;}double [] grade = new double [number];System.out.println("Please enter : ");for(int i = 0; i<grade.length; i++){ grade[i] = s.nextDouble(); } System.out.println("My grades are: "); for(int i = 0; i<grade.length; i++){ System.out.println(grade[i] + " | "); } System.out.println(""); System.out.println("My average: " +average(grade)); }}
2 回答

阿波羅的戰車
TA貢獻1862條經驗 獲得超6個贊
您正在使用一個break,它只立即退出循環。如果你想退出程序,你應該像這樣使用if和return:
if(number == 9999) { return; }
這會退出程序,因為使用return可以退出當前函數。當前函數是 main(),這是程序的主要代碼。所以,如果你退出它,你將退出程序。
在具有返回值的函數(非void函數)中,您需要像這樣指定返回值:
return 9999;
如果您在其他程序線程上,則需要調用System.exit(0)。
添加回答
舉報
0/150
提交
取消