【发布时间】:2017-09-25 05:37:47
【问题描述】:
我正在使用带有计数器的 while 循环来查找数组中的元素。我将检查返回的元素是否等于数组的长度,是否找不到该元素。循环是这样的。
int i = 0;
int returned;
boolean found = false;
while(i < words.length && !found){
WordInText check = new WordInText(w);
if(check.equals(words[i])){
found = true;
}
else{
i++;
}
return i
我想知道是否会更好,而不是在每个条件下都执行 else 来执行以下操作
int i = 0;
int returned;
boolean found = false;
while(i < words.length && !found){
WordInText check = new WordInText(w);
if(check.equals(words[i])){
found = true;
}
i++;
}
if(!found)
i++;
return i-1
我觉得第二个更有效,因为它不必检查每个循环的条件,如果数组真的很长,它就必须做很多。但我不确定何时决定每一个,因为第二个看起来真的很难看而且不直观。
【问题讨论】:
-
更好的方法是使用
HashSet<String>。 -
什么是
w、WordInText? -
我问他们是什么,你说“是”...
-
@user1803551 抱歉。它是一个字符串
标签: java loops while-loop return