我使用eclipse作为Ide。我尝试为以下任务执行源代码:
“编写一个算法来提示用户输入一系列整数(每个都在一个单独的行上)。输入将以零值终止。一旦用户输入零,显示数字(计数)消极和积极的价值观。“:
这是我的源代码,如果有人有任何想法或建议,我将不胜感激听到他们。谢谢。
import java.util.Scanner;
public class CountNums {
public static void main(String[] args) {
Scanner input = new Scanner (System.in);
System.out.println("Enter a series of integers and 0 for exit of the loop:");
int i = input.nextInt();
int negative = 0;
int positive = 0 ;
while (i != 0 ) {
System.out.println("Enter next integer: ");
i = input.nextInt();
if (i < 0) {
System.out.println( negative += 1 );
}else if (i > 0) {
System.out.println(positive += 1);
}
}
}
}
答案 0 :(得分:2)
你有两个问题:
positive
和negative
不会按照规范中的要求显示。相反,它们会在用户输入数字时显示,但第一次除外。答案 1 :(得分:2)
我不会为您提供书面代码,但我会提供一些有助于您思考的内容。
你要求的问题并不太难,所以你应该能够更多地考虑它。
你似乎走在了正确的轨道上。描述说您想要打印出在用户输入0之后输入的正数和负数的数量。此时您在每次用户输入后输出它。 &lt; - 想想这一点,以及你应该把输出放在哪里。
你也在while循环之外要求nextInt()。在输入数字时尝试跟踪程序,看看会发生什么。你应该在调用下面的if语句之前实际输入2个整数。
P.S。您可能希望确保将来代码的格式正常......
编辑:多一点帮助:
System.out.println( negative += 1 );
目前做了两件事,它增加了目前为止负整数数量的计数器,并打印出该值。
你是正确的,你想在每次运行while循环时保持递增该值(并且用户输入一个数字<0),但你不想做的是在那个阶段打印它该计划也是如此。考虑将这些代码分成两部分,并将适当的部分放在适当的位置:)
所以,想一想:
如何自行增加变量,以及如何自己打印变量。当然,也可以将其改为正线。
答案 2 :(得分:0)
每次读入数字时都不需要执行System.out.println()....只需递增计数(正++)并执行System.out.println(“正数计数为”+正数);在while循环之后。
答案 3 :(得分:0)
在每次迭代中打印负值或正值的数量。您希望在while
循环之后打印。