как использовать do-while l oop для запроса и чтения строк от пользователя? Списки массивов - PullRequest
0 голосов
/ 27 марта 2020

Я получаю сообщение об ошибке с моим кодом, в частности,

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

, ошибка говорит мне: «Ожидается», что я здесь не так делаю?

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); 

1 Ответ

0 голосов
/ 27 марта 2020

Поскольку у вас есть

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

в вашем l oop, это означает, что он будет повторно объявлен и инициализирован для каждой итерации этого l oop, поэтому переместите это объявление до do

Далее, чтобы добавить к этому l oop, используйте add метод

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

Для упрощения вам не нужен do, поскольку у вас есть число раз вы хотите, чтобы l oop

    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);
    }

Чтобы распечатать свой список, вы можете затем сделать

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
...