我已经让循环工作,并在输入值'999'时退出。
我不知道该怎么做,因为我的程序无法正常运行。
目前,在满足'num1''num2'和'num3'值后,循环退出。一旦输入值'999',我希望程序退出;不是在输入num1,2和3时。
这是我的代码:
import java.util.Scanner;
public class SumAverage {
static Scanner keyboard = new Scanner(System.in);
public static void main(String[] args) {
System.out.printf("Please Enter the first number%n");
float num1 = keyboard.nextFloat();
System.out.printf("Please enter the second number%n");
float num2 = keyboard.nextFloat();
System.out.printf("Please enter the third number%n");
float num3 = keyboard.nextFloat();
float sum = (num1 + num2 + num3); //calculates sum
float average = (num1 + num2 + num3) / 3; //calculates average
for(int x = 0; x < 1; x++) {
if (num1 == 999 || num2 == 999 || num3 == 999) {
break;
}
System.out.printf("Sum: %.0f %nAverage: %.2f", sum, average);
}
}
}
答案 0 :(得分:2)
如果您确实希望程序在输入999
的值后立即结束,则可以将main()
方法更改为:
public static void main(String[] args) {
System.out.printf("Please Enter the first number%n");
float num1 = keyboard.nextFloat();
if (num1 == 999) {
System.exit(0);
}
System.out.printf("Please enter the second number%n");
float num2 = keyboard.nextFloat();
if (num2 == 999) {
System.exit(0);
}
System.out.printf("Please enter the third number%n");
float num3 = keyboard.nextFloat();
if (num3 == 999) {
System.exit(0);
}
float sum = (num1 + num2 + num3); // calculates sum
float average = (num1 + num2 + num3) / 3; // calculates average
System.out.printf("Sum: %.0f %nAverage: %.2f", sum, average);
}
答案 1 :(得分:1)
如果我们查看当前编写代码的方式,由于没有附加任何条件,用户将始终需要输入3个值。
我建议使用带有条件的“System.exit”来测试用户输入的值是否为999.尝试从那里开始看看你能做些什么。
以下是关于“System.exit”的一些documentation,可帮助您更好地了解其工作原理。
答案 2 :(得分:0)
你的for循环只循环一次所以我认为你需要做的是改变代码的某些方面
public class Calculator{
public static void main(String[] args){
Scanner keyboard = new Scanner(System.in);
float num1;
float num2;
float num3;
while (true){ //This will run forever until we break the loop
num1 = keyboard.nextFloat();
if (num1 == 999){
break;
}
num2 = keyboard.nextFloat ();
if (num2 == 999){
break;
}
num3 = keyboard.nextFloat ();
if (num3 == 999){
break;
}
System.out.println("The average is: " + (num1 +num2+num3)/3);
}
}
}