输入任意次数

时间:2012-11-20 11:38:57

标签: java input

我正在寻找解决编码问题,这要求我在一行中使用一个整数来输入任意次数。我使用ArrayList来存储这些值。


The input will contain several test cases (not more than 10). Each
testcase is a single line with a number n, 0 <= n <= 1 000 000 000.
It is the number written on your coin.

例如

Input:

12
2
3
6 
16
17

我尝试在Java中输入:

List<Integer> list = new ArrayList<Integer>();
Scanner inp = new Scanner(System.in);
while(inp.hasNext()){
    list.add(inp.nextInt());
    }

但是,当我尝试打印列表中的元素以检查我是否正确输入了输入时,我没有得到任何输出。 C中相应的正确代码如下:


unsigned long n;
while(scanf("%lu",&n)>0)
{
   printf("%lu\n",functionName(n));
}

请帮我用Java解决这个问题。


(PS:由于这个原因,我无法用Java提交解决方案)

2 个答案:

答案 0 :(得分:3)

你可以做一件事!在输入结束时,您可以指定一些字符或字符串终止符。

<强>码

List<Integer> list = new ArrayList<Integer>();
Scanner inp = new Scanner(System.in);
while(inp.hasNextInt())
{
    list.add(inp.nextInt());
}
System.out.println("list contains");
for(Integer i : list)
{
    System.out.println(i);
}

示例输入:

10
20
30
40
53
exit

<强>输出:

list contains
10
20
30
40
53

答案 1 :(得分:0)

你能做这样的事吗:

    List<Integer> list = new ArrayList<Integer>();
    Scanner inp = new Scanner(System.in);
    while(inp.hasNextInt()){
        list.add(inp.nextInt());
    }

如果还有其他值,如字符,则循环结束。