Я нашел очень странную проблему в своей программе java. Я хочу найти индексы всех труб в моей строке и сохранить их в 5 переменных, но результат неправильный. Вот моя программа:Невозможно найти индекс символа в строке java
public class forTest {
public static void main(String[] args){
String tmp = "A|B|C|D|E|F|";
int count = 0;
int start = 0;
int start1 = 0;
int start2 = 0;
int start3 = 0;
int start4 = 0;
for(int i = 0; i < tmp.length(); i++){
if(tmp.substring(i, i+1).equals("|")){
count = count + 1;
System.out.println(i);
}
if(count == 1){
start = i;
}
if(count == 2){
start1 = i;
}
if(count == 3){
start2 = i;
}
if(count == 4){
start3 = i;
}
if(count == 5){
start4 = i;
}
}
System.out.println(start + "|" +start1 + "|" +start2
+ "|" +start3 + "|" +start4);
}
Выход:
Result is 1
1 3 5 7 9 11
2|4|6|8|10
Я не могу сказать, что вопрос от этого. –
Я думаю, что результат должен быть 1 3 5 7 9 – Frankie
'tmp.substring (i, i + 1) .equals (" | ")' должно быть 'tmp.charAt (i) == '|''. – Andreas