对于这些准则:
编写一个循环,从标准输入读取正整数,并在读取非正数的整数时终止.在循环终止之后,它打印出来,由空格和单行分隔,读取所有偶数整数的总和以及读取的所有奇数整数的总和.声明所需的任何变量.
ASSUME变量stdin的可用性,该变量引用与标准输入关联的Scanner对象.
我写了这段代码,但由于逻辑错误,硬件软件不会除外.我似乎无法在这里找到逻辑错误.谁能指出它有什么问题?
int sumP=0;
int sumO=0;
Scanner stdin = new Scanner (System.in);
System.out.println("enter an odd or even number");
while (stdin.nextInt() >= 0){
if(stdin.nextInt()%2 == 0)
sumP+= stdin.nextInt();
else
sumO += stdin.nextInt();
}
System.out.println(sumP + " " + sumO);
Run Code Online (Sandbox Code Playgroud)
您需要保存已读取的值,否则将在while循环和添加中使用不同的值.
int n;
while((n = stdin.readInt()) >= 0) {
// use the same value of n
Run Code Online (Sandbox Code Playgroud)