2016-11-28 119 views
-1

我是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

我不知道如何使循環和使用戶輸入數字多少次他想 –

回答

1

萬一你以後有什麼是添加用戶鍵入任意整數到一個程序一個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

我編輯了我的問題代碼 –

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;分數<= 100;分數++){ String x =(marksinput.getText()); markoutput.setText(x); 仍然沒有工作 –