2015-06-13 61 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++; 
}