将用户输入添加到ArrayList

时间:2014-12-28 03:53:16

标签: java arraylist user-input

我有一个数组列表,我输入了一些东西,它只保存了我输入的最后一个东西,但我需要之前输入的东西。我该如何解决?

Scanner input = new Scanner(System.in); 

ArrayList arrayListOne;
arrayListOne = new ArrayList();
ArrayList<String> letterArray = new ArrayList<String>();
for(int i = 0; i < letterArray.size(); i++)  {
    System.out.println(letterArray.get(i));
}

System.out.println("Type a string:");
letterArray.add(input.nextLine());
System.out.println("Number of string in array: " + letterArray.size());

3 个答案:

答案 0 :(得分:3)

您只需向ArrayList添加一个String。如果您希望它显示许多字符串,首先需要添加多个字符串,可能在某种循环中,例如for循环或while循环。然后在添加所有文本后,创建另一个for循环以显示所有文本。

e.g。因为这听起来像是家庭作业,所以更好地展示我在伪代码中的意思(并且对于任何欺骗你的人来说,让你感到羞耻,因为你自己通过勺子喂养解决方案来尝试编码):

create array list
entry String equals ""
do this loop
   get input from user
   put it into entry String
   add entry String into array list
while entry String doesn't equal "quit"
for each item in array list
   println each item
end for loop

答案 1 :(得分:0)

private static List<String> getAndPrintInputFromUser() {

    Set<String> ids = new TreeSet<String>(); //used set for making list as unique
    Scanner input = new Scanner(System.in);
    System.out.println("\nEnter each value\n" +
            "and Put an extra ENTER .");
    do{

        String x = input.nextLine();

        if(x==null || StringUtils.isEmpty(x.trim())){
            break;
        }else {
            ids.add(x);
        }

    }while(true);

    for(String id : ids)
        System.out.println(id);

    return new ArrayList<String>(ids);
}

<强>输出:

Enter each value
and Put an extra ENTER.
TP6100010
TP6100015
TP6100019


TP6100010
TP6100015
TP6100019

答案 2 :(得分:-2)

尝试以下操作以显示列表并继续添加新字母:

Scanner input = new Scanner(System.in); 

ArrayList arrayListOne;
arrayListOne = new ArrayList();
ArrayList<String> letterArray = new ArrayList<String>();

while(true) {
  System.out.println("Type a string:");
  letterArray.add(input.nextLine());
  System.out.println("Number of string in array: " + letterArray.size());
  // Display eveything in the list
  displayList(letterArray);
}


// Somewhere in your class add this method
public void displayList(ArrayList letterArray) {
  for(int i = 0; i < letterArray.size(); i++) 
    System.out.println(letterArray.get(i));
}

完整代码:

import java.util.ArrayList;
import java.util.Scanner;

public class Practice {
  public static void main(String[] args) {
    Scanner input = new Scanner(System.in); 

    ArrayList arrayListOne;
    arrayListOne = new ArrayList();
    ArrayList<String> letterArray = new ArrayList<String>();

    while(true) {
      System.out.println("Type a string:");
      letterArray.add(input.nextLine());
      System.out.println("Number of string in array: " + letterArray.size());
      // Display eveything in the list
      displayList(letterArray);
    }
  }


  public static void displayList(ArrayList letterArray) {
    for(int i = 0; i < letterArray.size(); i++) 
      System.out.println(letterArray.get(i));
  }
}