static int findPerson(String n, int NP, Friend[] giftGivers){
int index = 0;
for (int i = 0; i < NP; i++){
if (giftGivers[i].name == n){
index = i;
}
}
return index;
}
Run Code Online (Sandbox Code Playgroud)
我在Java中有这个代码,用于搜索一个Friends数组的方法,以查找具有由String n输入的名称的人的索引号.但是我发现索引号没有设置为应该的索引号.是因为它在if语句中吗?
if (giftGivers[i].name == n)
是错的,使用 if (giftGivers[i].name.equals(n))
顺便说一句,没有必要使用NP
.这是C风格,在Java中没有必要(实际上,非常危险).代替
for (int i = 0; i < NP; i++)
,
说啊 for (int i = 0; i < giftGivers.length; i++)