我正在寻找解决编码问题,这要求我在一行中使用一个整数来输入任意次数。我使用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提交解决方案)
答案 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());
}
如果还有其他值,如字符,则循环结束。