0 / 0 / 0
Регистрация: 18.01.2019
Сообщений: 22
1

Ошибка метода split

25.04.2019, 06:40. Показов 1312. Ответов 4

Author24 — интернет-сервис помощи студентам
Здравствуйте, проблема довольно интересная:
Есть файл, содержимое которого
1@1d1d1@1@1@1d1d1
И есть метод, что распознает и считывает данные из файла в поля класса
Java
1
2
3
4
5
6
7
8
9
10
11
public void DiskRead(int number_of)
    {
        String[] ToVirStr = DiskContainer()[number_of].split("@");
        FIO = ToVirStr[0];
        String[] ToDateStr = ToVirStr[1].split("d");
        Last_Check = LocalDate.of(Integer.parseInt(ToDateStr[0]), Integer.parseInt(ToDateStr[1]), Integer.parseInt(ToDateStr[2]));
        Mark = ToVirStr[2];
        Num =  Integer.parseInt(ToVirStr[3]);
        ToDateStr = ToVirStr[4].split("d");
        Created = LocalDate.of(Integer.parseInt(ToDateStr[0]), Integer.parseInt(ToDateStr[1]),Integer.parseInt(ToDateStr[2]));
    }
Проблема возникает при записи в поле Created, это поле типа LocalDate, причем при записи в поле Last_Check ошибки не возникает и все правильно работает.
Ошибка в том, что последняя строка (ToDateStr[2]) пустая, это проверено через вывод и отладку.
Длинна массива ToDateStr на момент ошибки равна 3
Сообщение об ошибке:
at java.base/java.lang.NumberFormatException.forInputString(NumberFormatException.java:65)
at java.base/java.lang.Integer.parseInt(Integer.java:652)
at java.base/java.lang.Integer.parseInt(Integer.java:770)
Мои попытки решения (безуспешно):
Java
1
2
ToDateStr[2].replace("\r\n","");
ToDateStr[2].replace("\n","");
Вот что тут не так, split сломался?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
25.04.2019, 06:40
Ответы с готовыми решениями:

Где ошибка. Переопределение метода
Все отрабатывает без ошибок, переопределение метода не работает. IDE Eclipse. Java 8. 1. Супер...

Ошибка при вызове метода
добрый вечер. Сделал задание в Си# теперь его надо перевести в Java. Вот привожу отрывок кода как...

Не возвращает фразу при переопределении метода класса. В чём ошибка?
Доброго дня. Начал недавно изучать Java и дошел до классов, подклассов и вызывающих классов. Вопрос...

[JVM] Почему в Java можно возвращать из метода массив, созданный внутри этого метода и размещенный в стеке?
Пишу на C, и там нельзя возвратить указатель на массив созданный внутри функции: int*...

4
Автоматизируй это!
Эксперт Python
7180 / 4673 / 1219
Регистрация: 30.03.2015
Сообщений: 13,349
Записей в блоге: 29
25.04.2019, 07:31 2
Цитата Сообщение от ErXodus Посмотреть сообщение
Вот что тут не так, split сломался?
ага или джава сломалась, причины же всегда не в нас))
у меня твой код работает, если "1@1d1d1@1@1@1d1d1" сделать как переменную, смотри отладкой или в файле у тебя что-то не так или при чтении, когда в метод приходит.

Откуда такой код, как я понимаю сплошные статики?
Цитата Сообщение от ErXodus Посмотреть сообщение
number_of
это в питоне так пишут
в джава и переменные и методы называют с маленькой буквы и по мере сил стараются чтобы по названию было понятно что метод делает или что переменная хранит, а вот что лежит ToVirStr можно только предполагать
1
Am I evil? Yes, I am!
Эксперт PythonЭксперт Java
19224 / 10944 / 2917
Регистрация: 21.10.2017
Сообщений: 23,136
25.04.2019, 08:02 3
Цитата Сообщение от Welemir1
в файле у тебя что-то не так
1
0 / 0 / 0
Регистрация: 18.01.2019
Сообщений: 22
25.04.2019, 20:53  [ТС] 4
Welemir1, очень полезный совет, докопался до того как я называю переменные и не глядя оценил методы, которые, кстати, не static и работают точно
0
Автоматизируй это!
Эксперт Python
7180 / 4673 / 1219
Регистрация: 30.03.2015
Сообщений: 13,349
Записей в блоге: 29
26.04.2019, 06:11 5
Цитата Сообщение от ErXodus Посмотреть сообщение
докопался до того как я называю переменные
докопался?)) гуглим что такое java code conventions, это действительно полезный совет, чтобы не бросался твой код в глаза любому знакомому с языком.
0
26.04.2019, 06:11
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
26.04.2019, 06:11
Помогаю со студенческими работами здесь

Обращение к переменной метода из другого метода
public class Solution { public static void main(String args) throws Exception { ...

Метод split - выдается ошибка Uncaught TypeError: Cannot read property 'split' of undefined
Вот кусок кода CheckLinkText: function(val, f){ if(!$('#attach_lnk_stared').val()){...

Использование метода split()
Нужна помощь в решении задачи. Написать код, по которому программа выдает слова или фразы и просить...

Своя реализация метода Split
Написать реализацию метода Split. Не использовать сам метод или какие-либо библиотечные функции при...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru