我写了一个计算成绩的代码。但是如果我在控制台中输入 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
提交
取消