String str = "1st 2nd 3rd 4th 5th 6th 7th 8th 9th 10th";
int start = 0;
int end = 0;
int temp3 = str.indexOf(" ");
int i = 0;
int x = 6;
while(i < x){
System.out.println("current start: " + start);
start = str.indexOf(" ", temp3);
i++;
temp3 += str.indexOf(" ");
}
end = str.indexOf(" ", start + 1);
String sample = str.substring(start, end);
System.out.println("HERE: " + sample);
Я пишу программу, которая позволила бы пользователю ввести номер и напечатать определенное место из строки, напримеро IndexOf (»«)
String str = "1st 2nd 3rd 4th 5th 6th 7th 8th 9th 10th";
, когда вводимые пользователем 0 , он печатает 1-й или когда он вводит 1, он печатает 2
так, что я решаю, как это сделать - найти индекс двух пространств, который включает определенную строку: «1st" or "2nd" or "3rd".....
и присвоить их индексу две переменные, называемые начальным и конечным. И возьмите оба в качестве параметра подстроки в pri нт конкретной строки
и в приведенной выше коде, это работает, пока переменные й не 6, вот выход:
current start: 0
current start: 3
current start: 7
current start: 11
current start: 15
current start: 15
HERE: 6th
он повторяет 15 дважды, и строка не должна быть шестой, она должна быть:
0: первый, 1: второй, 2: третий, 3: 4, 4: 5, 5: 6, 6: 7 и так далее ...
, а также не только 6, когда varriable х 10, он также повторить номер 27 дважды
Я пытался найти проблему, но я понятия не имею,
делать кто знает, что это проблема ? и как это исправить?
спасибо
Вы должны смотреть на [ 'раздельным (String регулярных выражений)'] (http://docs.oracle.com/javase/7/docs/api/java/lang/String.html#split (java.lang.String)) метод – Titus
да, сплит работать отлично в моей программе, спасибо :) – user47103