【发布时间】:2014-09-06 14:57:41
【问题描述】:
我正在编写一个程序来从控制台获取整数序列,例如
1 5 3 4 5 5 5 4 3 2 5 5 5 3
然后计算出现次数并打印以下输出:
0 - 0 1 - 1 2 - 1 3 - 3 4 - 2 5 - 7 6 - 0 7 - 0 8 - 0 9 - 0
其中第二个数字是第一个数字的出现次数。
代码:
public static void main (String args[])
{
Scanner chopper = new Scanner(System.in);
System.out.println("Enter a list of number: ");
int[] numCount = new int[10];
int number;
while (chopper.hasNextInt()) {
number = chopper.nextInt();
numCount[number]++;
}
for (int i = 0; i < 10; i++) {
System.out.println(i + " - " + numCount[i]);
}
}
但是在输入序列后,我们必须输入一个非整数字符并按“Enter”来终止Scanner并执行“for”循环。有什么方法可以让我们不必输入非整数字符来终止扫描器?
【问题讨论】:
-
@user3681996 请指定您希望用户做什么来终止程序?例如,您不希望他输入“结束”吗?或者可能是一个标记值 99999?
-
@Jean-FrançoisSavard 这将成为答案的一部分,以解释为什么在使用
Scanner时不能正常工作。 -
@Jean-François Savard 用户输入整数序列并回车结束程序