2015-06-13 81 views
0

如果我有一個循環像這樣:IO讀取(JAVA)

while(st.hasMoreTokens()) 
    { 



      array[i] = st.nextToken(); 
      array[(i+1)] = st.nextToken(); 


      i++; 
    } 

意願陣列[i]和陣列[I + 1]最終具有相同的字或將它把一個字在陣列[ i]和數組[i + 1]中的下一個單詞?我試圖一次讀出兩個單詞,直到我的單詞用完。 謝謝。

+1

可能崩潰,你不檢查是否有在第二次調用的令牌。 – twentylemon

+0

我該如何檢查? – Chalupa

+1

再次調用'hasMoreTokens';或懶惰,並假設你的輸入是正確的:) – twentylemon

回答

1

是的,它會「將它放在array[i]中的一個單詞和下一個單詞在array[i+1]」。

請注意nextToken()st字符串標記器返回下一個標記。請注意0​​- 如果st tokenizer的字符串中沒有其他標記。

嘗試這樣:

while(st.hasMoreTokens()) 
{ 
    array[i] = st.nextToken(); 
    if(st.hasMoreTokens()) // check again whether the next toaken is available or not 
     array[(i+1)] = st.nextToken(); 
    i++; 
}