这些指南:
编写一个循环,从标准输入读取正整数,并在读取非正数的整数时终止。在循环终止之后,它打印出来,由空格和单行分隔,读取所有偶数整数的总和以及读取的所有奇数整数的总和。声明所需的任何变量。
确定变量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);
答案 0 :(得分:7)
您需要保存已读取的值,否则您将在while循环和添加中使用不同的值。
int n;
while((n = stdin.readInt()) >= 0) {
// use the same value of n
答案 1 :(得分:0)
这适用于myprogramminglab - Java
int sum=0;
boolean areMore = true;
int negative;
while (areMore)
{
int number = stdin.nextInt();
if (number <= 0)
areMore = false;
else if (number %2 ==0 )
sum = sum + number;
else
negative = sum + number;
}
System.out.println(sum);
答案 2 :(得分:0)
int number = 1;
while (stdin.hasNextInt() && number > 0)
{
number = stdin.nextInt();
if (number % 2 == 0 && number > 0)
System.out.print(number + " ");
}
找到这个和许多其他代码实践练习的答案