Использование Buffered Reader для добавления пользовательского ввода в массив

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

public static void main (String[] Args) throws IOException
{
    int[] numbers = new int[100];

    Scanner scan = new Scanner(System.in);
    InputStreamReader isReader = new InputStreamReader(System.in);
    BufferedReader bReader;
    bReader = new BufferedReader(isReader);
    int intNumber = Integer.parseInt(bReader.readLine());
    int check = scan.nextInt();
    while (check != 0)
    {
        int i = 0;
        numbers[i] = Integer.parseInt(bReader.readLine());
        check = intNumber;
        i++;
    }
    bReader.close();
}

1 ответ

Решение

Переехать int i = 0 вне цикла while. В каждой итерации i инициализируется в 0, так что ваш массив имеет только одно значение, и это в 0-м индексе

Другие вопросы по тегам