好日子的家伙,我是新来的。我正在为我的前卫部队做一个任务,所以请耐心等待。JAVA:if语句里面的for循环和退出for循环
所以我要做的是写一个代码,可以输入从1到120之间的整数的人的年龄。然后用户必须计算平均年龄,并且应该以实数计算。但用户必须输入年龄值,直到用户输入0,即停止程序然后输出平均值。如果用户输入的年龄无效,那么程序应该继续重新提示用户,直到他们输入有效年龄。
所以我尽了我的一份力。我创建了一个代码,我想出了这一点:
public static void main(String[] args)
{
int ageValue = 0;
double getAge;
getAge = inputAge();
System.out.println("Average age is: " + getAge);
}
public static double inputAge()
{
int ageValue = 0;
double avgAge = 0;
Scanner sc = new Scanner(System.in);
for (int i = 1; i <= 120; i++)
{
System.out.println("Enter age");
ageValue += sc.nextInt();
avgAge = ageValue/(double) i;
if (ageValue == 0)
{
System.out.println("Average age is: " + avgAge);
System.exit(0);
}
while (ageValue < 0 || ageValue > 120)
{
System.out.println("Invalid input. Try again!");
ageValue = sc.nextInt();
}
}
return avgAge;
}
现在我放下我的代码,我得到了我的平均公式莫名其妙地工作。现在,问题是,当我按0时,它不会提示“if”语句。但是,当第一个“输入你的年龄”提示出现,我按0,“if”声明工作。但是对于每次迭代,程序都不会让我执行语句。
另一方面,我也在努力弄清楚如何在不使用break或System.exit()的情况下退出循环,因为这会给我零标记。我想要的是当我按0时,它应该退出循环并输出平均值,就像任务所说的那样。
我不知道你们是否可以得到它..代码是否正确?我在正确的轨道上吗?我错过了什么?
干杯
以及修复各种错误,这也是该部门只有一次。应该注意的是,如果用户输入nextInt无法解析的内容,这会引发异常。 – Rodney
哦,真的没有意识到while while循环。谢谢,这解决了我的问题 – Seth