7.04.2014 / 13:44 | |
HoldFast Пользователь Сейчас: Offline
Имя: Андрей Откуда: Великие Луки Регистрация: 18.04.2011
| __________________
Да, детка, я - Король Ящериц!!! |
10.04.2014 / 05:24 | |
samodelkin Пользователь Сейчас: Offline
Имя: Сергей Откуда: Липецк Регистрация: 05.11.2013
| Почему при выполнении этого кода возникает ошибка? Код должен отделять строки и ложить их в вектор. public static void loadCode(String s){ code.removeAllElements(); position=0; int pos=0; while(true){ code.add(s.substring(pos,pos+s.indexOf('\n',pos))); pos+=code.lastElement().length()+1; if (pos>=s.length()-1) break; } }
Изменено samodelkin (10.04 / 05:25) (всего 1 раз) |
10.04.2014 / 05:26 | |
samodelkin Пользователь Сейчас: Offline
Имя: Сергей Откуда: Липецк Регистрация: 05.11.2013
| А то уже два дня не могу исправить ошибку.
|
10.04.2014 / 05:42 | |
Ксакеп Модератор форума Сейчас: Offline
Регистрация: 20.06.2012
| samodelkin, а что если там нет этого "\n" и s.indexOf("\n", pos) возвращает -1? s.substring() разве спокойно принимает отрицательный параметр?
|
10.04.2014 / 05:53 | |
samodelkin Пользователь Сейчас: Offline
Имя: Сергей Откуда: Липецк Регистрация: 05.11.2013
| Ксакеп, так я в конце вводил знак переноса для исключения такой ошибки, но почему-то при вводе одной строки все нормально, а при вводе более одной ошибка.
|
10.04.2014 / 05:55 | |
samodelkin Пользователь Сейчас: Offline
Имя: Сергей Откуда: Липецк Регистрация: 05.11.2013
| Никак не могу найти в чем дело, надо ждать Аннимона- отца, сына и святого духа явы! Изменено samodelkin (10.04 / 05:59) (всего 2 раза) |
10.04.2014 / 06:12 | |
HoldFast Пользователь Сейчас: Offline
Имя: Андрей Откуда: Великие Луки Регистрация: 18.04.2011
| Заюзай BuferredReader
__________________
Да, детка, я - Король Ящериц!!! |
10.04.2014 / 07:46 | |
Salat-Cx65 Пользователь Сейчас: Offline
Имя: Сергей Откуда: Кременчуг Регистрация: 23.03.2010
| samodelkin (10.04.2014/05:24) Почему при выполнении этого кода возникает ошибка? Код должен отделять строки и ложить их в вектор.public static void loadCode(String s){code.removeAllElements();position=0;int pos=0;while(true){code.1) обернулся все в try{} catch (Exception e) { e.printStackTrace(); } Ты по стеку увидишь где конкретно (на какой строчке) и почему падает код. 2) я для ж2ми в свое время делал так // разбиение строки в массив подстрок с строчным делителем
public static String[] splitString(String string, String delim) {
if (string == null) {
return null;
}
if (string.length() == 0 || delim == null
|| delim.length() == 0) {
return new String[]{string};
}
Vector vector = new Vector();
int start = 0;
int end = string.indexOf(delim, start);
while (end != -1) {
vector.addElement(string.substring(start, end));
start = end + delim.length();
end = string.indexOf(delim, start);
}
vector.addElement(string.substring(start));
String[] strings = new String[vector.size()];
vector.copyInto(strings);
vector.removeAllElements();
vector = null;
return strings;
}
Возможно тебе проще будет использовать его. Возможно поможет понять ошибку у себя. Удачи |
10.04.2014 / 10:13 | |
samodelkin Пользователь Сейчас: Offline
Имя: Сергей Откуда: Липецк Регистрация: 05.11.2013
| Salat-Cx65, спасибо, завтра попробую.
|
10.04.2014 / 11:20 | |
HoldFast Пользователь Сейчас: Offline
Имя: Андрей Откуда: Великие Луки Регистрация: 18.04.2011
| BufferedReader buffer = new BufferedReader(new StringReader(string)) ; String line = buffer.readLine(); while(line! =null) { System.out.printLn(line); line = buffer.readLine(); }
__________________
Да, детка, я - Король Ящериц!!! |