Ошибка при использовании цикла for и массива String - PullRequest
0 голосов
/ 18 февраля 2019

Ошибка второго for в массиве Alltext - в сообщении об ошибке говорится, что он не может найти символ Alltext, и мой код не может быть инициализирован из-за этого.

Я попытался поместить вторую for внутри первой for, она не сработала.Я даже пытался что-то изменить, например, сделать код ключа для массива String.

    for (int i = 1; i <= n; i++) {

        System.out.print("Input number : ");
        a = Masuk.readLine();
        n = Integer.parseInt(a);

        System.out.print("Input Text : ");
        a = Masuk.readLine();

        String[] Alltext = {a+" "+n};
    }

    for (String i : Alltext) {

        System.out.println(i);
    }

Я ожидаю, что результат будет при вводе числа и текста, он будет отображать все это в Alltext массив.

1 Ответ

0 голосов
/ 18 февраля 2019

Поскольку область действия Alltext находится только в первом цикле for, как вы объявили его в первом цикле.Следовательно, ваш код не знает, что какая-либо переменная с именем Alltext существует вне этого цикла.

Но если вы объявите это снаружи, вы не сможете инициализировать массив в цикле, т.е. вы не сможете сделатьэто Alltext = {a+" "+n};.Массивы могут быть инициализированы только один раз при объявлении.Вместо этого используйте ArrayList, если он подходит вашему варианту использования.

Вы можете сделать что-то вроде ниже:

System.out.print("Total Line : ");
a = Masuk.readLine();
n = Integer.parseInt(a);

String[] Alltext = new String[n];
for(int i = 1;i<=n;i++) {

System.out.print("Input number : ");
a = Masuk.readLine();
n = Integer.parseInt(a);

System.out.print("Input Text : ");
a = Masuk.readLine();

 Alltext[i-1]= a+" "+n;//i-1 because loop starts from 1

}
for(String i : Alltext){
 System.out.println(i);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...