我正在迭代一个字符串向量:
for(String s : st){
while(s.equals("a")) //just an example, not exactly this required
{
//go to next element : How to do this?
}
System.out.println(s);
}
如何迭代for(:)循环中的下一个元素?
修改
许多人问及while的逻辑,
字符串的向量基本上包含一个句子的单个单词,我必须在句子中折叠Noun Phrases,例如如果有一个像&#34这样的句子;罗伯特西格威克正在回家"。所以现在st [0]有" Robert"并且st [1]有" Sigwick"。在处理之后,我必须制作st [0] =" Robert Sigwick"。
所以我的代码有点像:
for(String s : st){
string newEntry = "";
while(getPOS(s).equals("NNP"))
{
newEntry += s;
// HERE I WANT THE HELP : something like s = getNext();
}
if(!newEntry.equals(""))
result.add(newEntry);
}
答案 0 :(得分:0)
使用循环标签继续
OUTER:
for(String s : st){
while(s.equals("a")) //just an example, not exactly this required
{
//go to next element : How to do this?
continue OUTER;
}
System.out.println(s);
}
注意:只有嵌套循环时才需要循环标签。如果while应该是if语句,那么简单的continue;
将起作用。
还如果它是if语句,那么可能会有更好的方法。考虑:
for(String s : st){
if(!s.equals("a")) //just an example, not exactly this required
{
System.out.println(s);
}
}
这里的问题是整个方法更深入一层。这是一种偏好。
有关循环标签的更多信息:"loop:" in Java code. What is this, why does it compile?
答案 1 :(得分:0)
for(String s : st){
if(s.equals("a")) //just an example, not exactly this required
{
//go to next element : How to do this?
continue;
}
System.out.println(s);
}
答案 2 :(得分:0)
您需要解释为什么需要while
循环。你不能用这种方式去下一个元素。