I have to make a loop taking a users input until "done" is entered

16,444

Solution 1

ArrayList<String> names = new ArrayList<String>();
String userInput;
Scanner scanner = new Scanner(System.in);
while (true) {
    userInput = scanner.next();
    if (userInput.equals("done")) {
        break;
    } else {
        names.add(userInput);
    }
}       
scanner.close();

Solution 2

    ArrayList<String> list = new ArrayList<String>();
    String input = null;
    while (!"done".equals(input)) {
        //  prompt the user to enter an input
        System.out.print("Enter input: ");

        //  open up standard input
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));


        //  read the input from the command-line; need to use try/catch with the
        //  readLine() method
        try {
            input = br.readLine();
        } catch (IOException ioe) {
            System.out.println("IO error trying to read input!");
            System.exit(1);
        }
        if (!"done".equals(input) && !"".equals(input))
            list.add(input);
    }
    System.out.println("list = " + list);
Share:
16,444
yoyo
Author by

yoyo

Updated on June 04, 2022

Comments

  • yoyo
    yoyo almost 2 years

    I'm trying to make an ArrayList that takes in multiple names that the user enters, until the word done is inserted but I'm not really sure how. How to achieve that?