【发布时间】:2020-11-02 12:56:03
【问题描述】:
我对 java 很陌生,我需要帮助。基本上,我有一个程序要求用户输入一个数字。输入数字时,它会将该数字之前的所有奇数相加并将它们相加。我正在尝试(并且失败)做的是,制作另一个循环,当提示用户要求输入一个数字来总结奇数时,我想使它只有在奇数时才会继续输入,否则它将不断重复询问用户,直到他们输入一个奇数。我知道使用while 循环可以解决这个问题,但我不确定如何让它工作。
这是我的代码:
import java.util.Scanner;
public class OddCalculator {
private static Scanner sc;
public static void main(String[] args)
{
int number, i, oddSum = 0;
sc = new Scanner(System.in);
System.out.print(" Please Enter any Number : ");
number = sc.nextInt();
while (number % 2 !=0) //HERE IS WHERE IM HAVING THE ISSUE
{
continue;
}
for(i = 1; i <= number; i++)
{
if(i % 2 != 0)
{
oddSum = oddSum + i;
}
}
System.out.println("\n The Sum of Odd Numbers upto " + number + " = " + oddSum);
}
}
提前致谢!
【问题讨论】:
-
询问用户直到他们输入一个奇数,您可能不得不使用
number = sc.nextInt();重新读取用户在循环中的输入,而不是使用continue。跨度> -
我试过了,但是当我输入一个无效的数字时,代码就结束了,而不是再次提问
-
需要考虑的事情:如果用户没有输入一个正整数会发生什么?例如 -7 或 3.14
标签: java