在Arraylist中添加用户输入

问题描述:

我是JAVA新手,这是我必须做的:
接受一组标记(满分100)。用户应该在输入每个标记后按下Enter按钮,然后将标记添加到整数的ArrayList中。
这是我到目前为止有:在Arraylist中添加用户输入

int score = Integer.parseInt(marksinput.getText()); 
ArrayList<Integer> marks = new ArrayList(); 
Collections.addAll(marks, score); 
String out = ""; 
String Out = null; 
int[] studentmarks = {score}; 

for (int item : studentmarks) { 
    marksoutput.setText(""+item); 
} 
if (score > 100) { 
    marksoutput.setText("Enter marks\n out of 100"); 
} 

这只会增加ArrayList中1马克,我需要用户他想要输入尽可能多的标记。我知道我的数组列表错误,这就是为什么它只需要1个数字,但我不知道如何使所有输入数字进入数组列表。我的是,它需要的数量,如果用户输入另一个数字,它只是取代旧数字。我希望它显示两个数字不只是一个。任何帮助表示赞赏,并感谢你在前进!☻☻
(这不是重复的,即使别人有相同的标题)

+0

这是在一个循环内?代码看起来好像缺少一个主要元素。 – vlatkozelka

+0

您正在寻找一个循环。 – SLaks

+0

我不知道如何使循环和使用户输入数字多少次他想 –

万一你以后有什么是添加用户键入任意整数到一个程序一个ArrayList,你将不得不做的是以下几点:

Scanner scanner = new Scanner(System.in); 
List<Integer> ints = new ArrayList<Integer>(); 

while(true) 
    ints.add(scanner.nextInt()); 

什么这一计划将要做的,就是让用户输入任意数量,并自动将其放入用户的ArrayList。这些整数然后可以使用访问的从ArrayList中获得方法,像这样:

ints.get(0); 

如果上面的代码样本中的零,表示从那里,你想获取一个ArrayList中的索引整数。

由于这个网站不是帮助人们编写整个程序,所以这是我给你的ArrayList的基础知识。

ArrayList是List的子类,这就是我们可以使用List定义变量的原因。上面例子中的while循环会一直持续下去,除非你添加一些逻辑。如果你希望它在执行一定次数后结束,我会推荐使用for循环而不是while循环。

最好的问候,

+0

谢谢,但我已经知道这一点。我想要做的是从用户获取多个输入并将其显示在数组列表中。我的是,它需要的数量,如果用户输入另一个数字,它只是取代旧数字。我希望它显示两个数字不只是一个 –

+0

标记是否输入一个字符串看起来像这样:“1,2,4,3,8,2”? –

+0

我编辑了我的问题代码 –

既然看来你是真的新,

你所寻找的是一个for-loop

从Java文档,他是一个for-loop的在Java中

语法
for (initialization; termination; increment) { 
    statement(s) 
} 

初始化:显然你想从0开始

终止:你要经过100个投入停止,所以这是99(从零开始)

增量:要 “算” 一个接一个,这样count++

for(int counter = 0; counter < 100; counter++) { 
    //Ask user for input 
    //read and add to the ArrayList 
} 

因此,在您输入for-loop之前,您需要初始化ArrayListScanner以读取输入:

Scanner sc = new Scanner(System.in); 
ArrayList<Integer> list = new ArrayList(); 

for(int counter=0; counter < 100; counter++) { 
    System.out.println("please enter the " + counter + " number"); 
    int x = sc.nextInt(); 
    list.add(x); 
} 
+0

ArrayList marks = new ArrayList(); (int分数= 0;分数