Подстрока Java вне диапазона: -1JAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Подстрока Java вне диапазона: -1

Сообщение Anonymous »

Я новый участник Stack Overflow, но уже читал здесь, чтобы помочь мне сделать первые шаги в Java. В настоящее время я учусь в колледже, поэтому на данный момент у меня нет каких-либо глубоких знаний, кроме if, цикла и массива.
Сейчас я работаю над функцией, но я Последние несколько дней у меня застой. Я застрял в этой подстроке, которая отказывается работать.
Я чувствую себя глупо просить о помощи, потому что я уверен, что это ошибка, которую каждый мог увидеть за 2 секунды, но я могу' не ткну пальцем... В общем, обычно я бы не спрашивал, но мне нужно передать его через пару дней, так что...
вот оно:
Ввод представляет собой текстовый файл, но ligne = fichier.substring сократит это до следующего:

Эварист Галуа,3,7.5,8.5,10.0,5.5,2.5,0.0,3.4

Код: Выделить всё

private static String fabriquerRapport(String input)

{
String output = input;
double tauxHoraire = 15.65;
double tauxAugmentation = 0.015;

String nom = "";
int ancien = 0;
double lundi = 0;
double mardi = 0;
double mercredi = 0;
double jeudi = 0;
double vendredi = 0;
double samedi = 0;
double dimanche = 0;
String ligne = "";
String fichier = output;
String chaine = "";
int indice = ligne.indexOf(",");

double reg = 0;
double supp = 0;
double total = 0;

java.util.Calendar c = java.util.Calendar.getInstance();
String date = String.format("%1$tY-%1$tm-%1$te %1$tH:%1$tM",c);

output  = "================================================================================================\n" ;
output += "RGT Media : Rapport de charge salariale                           Comptable : XXXXXXXXXXXXXXX\n" ;
output += "Date      : " + date +"\n";
output += "================================================================================================\n" ;
output += "                           A   L    M    M    J    V    S    D       Reg.      Supp.    Salaire \n" ;
output += "================================================================================================\n" ;

ligne = fichier.substring(0 , fichier.indexOf("\n"));
nom = ligne.substring(0,indice);
if(nom.length()>27) nom = nom.substring(0, 23) + "...";
ligne = ligne.substring(indice+1);
output += nom;

return output;
}
Не обращайте внимания на неиспользуемую переменную, есть еще кое-что, но я удалил большую их часть для этого поста, так как большая часть находится в комментариях, потому что меня здесь заблокировали. Извините, переменная написана на французском языке, но я думаю, вы все равно сможете понять, что они делают.
Проблема в ligne.substring по адресу nom. Он должен перенести строку из начала строки в индекс, который является indexOf "", но это дает мне ошибку java.lang.StringIndexOutOfBoundsException: String out of range: -1, и я действительно не могу это выяснить. почему. Обычно я нахожу решения своих проблем в Интернете, но не в этот раз. В последнее время я очень устал, поэтому, возможно, именно поэтому я не могу найти решение этой проблемы, но я действительно застрял, поэтому, пожалуйста, ребята, мне нужна ваша помощь!
Спасибо п>

Подробнее здесь: https://stackoverflow.com/questions/403 ... of-range-1
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»