0 java loops while-loop nested-if
我无法弄清楚为什么每次循环都没有正确加起来.当输入-9999时,while循环也没有输出和,这也是一个问题.
import java.util.*;
public class list
{
public static void main(String args [])
{
Scanner sc = new Scanner(System.in);
int Number, Sum = 0;
System.out.println("Enter the list of whole numbers, terminate by -9999> ");
Number = sc.nextInt();
Sum += Number;
while (Number != -9999)
{
if (Number > 1 && Number < 100)
{
Sum += Number;
Number = sc.nextInt();
}
else
System.out.println("Please enter a number between 1 and 100");
Number = sc.nextInt();
}
System.out.println("Sum is " + Sum);
}
}
Run Code Online (Sandbox Code Playgroud)
你在循环中要求一个数字可能两次.一旦在if块,而一旦后您的else块.没有括号,只有第一个语句是块.代替
else
System.out.println("Please enter a number between 1 and 100");
Number = sc.nextInt();
Run Code Online (Sandbox Code Playgroud)
尝试
else
{
System.out.println("Please enter a number between 1 and 100");
Number = sc.nextInt();
}
Run Code Online (Sandbox Code Playgroud)
此外,您的第一个号码被添加两次; 从while循环之前删除第一个添加项.
此外,虽然这是合法的,但可能是您的实际要求,这一行
if (Number > 1 && Number < 100)
Run Code Online (Sandbox Code Playgroud)
不会接受1或100.有可能你的要求将包括同时接受1和100,在这种情况下,条件应该是Number >= 1 && Number <= 100.
顺便说一句,传统的Java变量以小写字母开头,而类以大写字母开头,这意味着变量Number和Sum应改名number和sum分别.
| 归档时间: |
|
| 查看次数: |
371 次 |
| 最近记录: |