我写了一个计算成绩的代码。但是,如果我在控制台中输入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));
}
}
答案 0 :(得分:1)
您不需要中断任何循环,只需要退出程序即可。
if (number == 9999) {
System.exit();
}
答案 1 :(得分:1)
您正在使用 break ,它会立即退出仅循环。如果要退出程序,应使用 if 和 return ,如下所示:
if(number == 9999) {
return;
}
这将退出程序,因为使用 return 退出当前功能。当前函数是main(),这是程序的主要代码。因此,如果退出该程序,则将退出该程序。
在具有返回值的函数中(非 void 函数),您需要指定返回值,如下所示:
return 9999;
如果您在其他程序线程上,则需要调用 System.exit(0)。