简体   繁体   中英

how do i use do-while loop to prompt for and read the strings from the user? Array Lists

I keep getting an error with my code specifically at

ArrayList<String> input[i]= (i + 1) + " " + ArrayList<String> input[i];

the error tells me "; expected" what am I doing wrong here?

Scanner scnr = new Scanner(System.in);   
        System.out.println("how many lines of text do you want to enter");

        int numLines = 0;
        numLines = scnr.nextInt();
        System.out.println();

        ArrayList lines = new ArrayList();
        scnr.nextLine();

        int i = 0;
        do{

            System.out.println("Enter your text: ");
            String text = scnr.nextLine();
          ArrayList<String> input = new ArrayList<String>();
            i++;


        for (i = 0; i < numLines; i++)
        {
           ArrayList<String> input[i]= (i + 1) + " " + ArrayList<String> input[i];
        }

        for (String element: ArrayList<String> Lines)
        {
            System.out.println(element);
        }
            } while(i != 0); 

As you have

ArrayList<String> input = new ArrayList<String>();

within your loop, it means that it will get re-declared and initialised for every iteration of that loop, so move this declaration to before your do

Next, to add to this loop, use add method

String text = scnr.nextLine();
input.add (text);

To simplify, you do not need a do as you have a number of times that you want to loop

    Scanner scnr = new Scanner(System.in);   
    System.out.println("how many lines of text do you want to enter");

    int numLines = scnr.nextInt();
    System.out.println();

    scnr.nextLine();

    ArrayList <String> lines = new ArrayList <> ();

    for (int i = 0; i < numLines; i++) {
        System.out.println("Enter word...");
        String text = scnr.nextLine();
        lines.add(text);
    }

To print your list, you can then do

for (int x = 0; x < lines.size(); x++) {
    System.out.println (lines.get(x));
}

output

how many lines of text do you want to enter
5

Enter word...
one
Enter word...
two
Enter word...
three
Enter word...
four
Enter word...
five
one
two
three
four
five

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM