我想編寫一個程序,逐步打印單詞直到出現一個完整的句子。例如:我需要編寫(輸入),輸出:爲什麼我會得到java.lang.StringIndexOutOfBoundsException?
我
我需要
我需要
我需要編寫。
這裏是我的代碼:
public static void main(String[] args) {
String sentence = "I need to write.";
int len = sentence.length();
int numSpace=0;
System.out.println(sentence);
System.out.println(len);
for(int k=0; k<len; k++){
if(sentence.charAt(k)!='\t')
continue;
numSpace++;
}
System.out.println("Found "+numSpace +"\t in the string.");
int n=1;
for (int m = 1; m <=3; m++) {
n=sentence.indexOf('\t',n-1);
System.out.println("ligne"+m+sentence.substring(0, n));
}
}
,這就是我得到:
我需要寫。
在字符串中找到0。
異常在線程 「主」 java.lang.StringIndexOutOfBoundsException:在
split1.Split1.main -1在
java.lang.String.substring(String.java:1937)(:
字符串索引超出範圍Split1.java:36)Java結果:1所生成成功
(總時間:0秒)
我不明白爲什麼numSpace不計空格的發生,也不知道爲什麼我不得到正確的輸出(即使我將numSpace替換爲3)。
看起來你指望標籤'「\ t'',而不是空格'」「' – Sam