Запуск в исключении числового формата, когда я пытаюсь использовать BufferedReader для хранения целочисленных входных данных в массиве

1

Я пытаюсь использовать BufferedReader для ввода до 100 входов до тех пор, пока не будет введено целое число 1, в котором программа завершится.

public static void main(String[] args) throws IOException 
{
        //Instantiating an array of size 100, the max size.

        int arrayOfInputs [] = new int[100];

        //Creating the reader. 

        System.out.println("Enter some inputs");
        BufferedReader BR = new BufferedReader (new InputStreamReader(System.in));

        //Putting the inputs into a string.

        String stringOfInputs = BR.readLine();

        //Splitting the strings

        String [] sOI = BR.readLine().split(" ");
        for (int i = 0; i < sOI.length; i++)
        {
            //parsing the split strings into integers

            if (Integer.parseInt(sOI[i]) != 0)
            {
                arrayOfInputs[i] = Integer.parseInt(sOI[i]);
                System.out.print(arrayOfInputs[i] + " ");
            }
        }
}

Я не понимаю, почему моя программа не работает. Я читаю ввод, сохраняя его в строке, разбивая строку и затем преобразуя разделенные части в целые числа, чтобы затем хранить в моем массиве размером 100. Что я делаю неправильно?

  • 0
    Не могли бы вы отредактировать свой вопрос, включив в него образец ввода, который приводит к его сбою?
Теги:
arrays
input
parsing
bufferedreader

1 ответ

3
Лучший ответ

Я читаю входные данные, сохраняя их в строке, разбивая строку, а затем конвертируя разделенные части в целые числа, чтобы затем хранить в моем массиве размером 100.

Вы дважды вызываете BufferedReader#readLine(). Первая строка игнорируется, и обрабатывается только вторая строка. Вы должны использовать переменную, которая сохраняет первую прочитанную строку:

String stringOfInputs = BR.readLine();  // TODO rename variable to use lowercase, e.g. br

//Splitting the strings

String [] sOI = stringOfInputs.split(" ");
...

Ещё вопросы

Сообщество Overcoder
Наверх
Меню