Я хочу прочитать (пример) шаблон что-то вроде "@123@123@123" из файла. После встречи с @, 123 нужно сохранить в массиве и так далее.
Мой фактический файл для чтения - это что-то вроде:
@
1
2
.
.
90
@
1
2
.
.
90
@
1
.
.
90
@
Я хочу прочитать файл, когда @ встречается, данные (здесь целые числа) после @ должны быть прочитаны в массив. Затем, после того как данные будут переданы в массив, возобновите чтение файла, когда @ снова встретится, повторите процесс и снова сохраните следующий набор данных после @ в массиве.
Что я уже пробовал:
Я попробовал этот код,который дает мне ошибку. Я не понимаю, в чем ошибка. Пожалуйста, помогите мне. Строка кода, которая показывает ошибку, находится ниже:
public void P() { while(s.hasNext()) { String lineOfText = s.nextLine(); if (lineOfText.startsWith("@")) { } codes[m] = s.nextInt(); m++; } }
Когда у меня есть только
@
1
2
.
.
90
в файле код работает нормально. Но мой файл-это шаблон, подобный описанному выше iv'e. Пожалуйста помочь.
Richard MacCutchan
"Я попробовал этот код,который дает мне ошибку."
Какая ошибка?
Member 13842147
Исключение в потоке "main" java.util.Исключение InputMismatchException
Richard MacCutchan
Очевидно, вы пытаетесь извлечь int из строки текста, содержащей нечисловые символы (например, полная остановка). Посмотрите более внимательно на ваши входные данные и код для каждого возможного случая.
Member 13842147
В коде, включенном iv'e, если следующая строка начинается с @, то выполните требуемую операцию. @ - это как маркер. Когда @ встречается, перейдите к следующей строке, прочитайте данные и отобразите их. Затем, когда встретится следующий @, повторите этот процесс.
Richard MacCutchan
Да, но вы предполагаете, что каждая вторая строка содержит число. Ошибка говорит вам, что вы прочитали строку, которая не является числом.
Member 13842147
Я только что еще раз проверил свое досье. Файл просто содержит числа от 1 до 90, разделенные символом"@".
Richard MacCutchan
Но ваш код неверен. Вы читаете строку текста, а затем вызываете nextInt, который читает следующую строку. Итак, вы упускаете некоторые цифры. Вам нужно прочитать каждую строку по порядку и обработать ее в соответствии с тем, содержит ли она @ или нет.