gpt4 book ai didi

java - 检查数组中是否存在字符串

转载 作者:行者123 更新时间:2023-12-05 08:18:39 24 4
gpt4 key购买 nike

我正在尝试检查某个名称是否已在数组中使用,但它仅适用于点 [0]。我假设它来自 boolean 值中的 for 循环,只经过一次,而不递增以检查其他点?

尝试改变不同的 if 和 while 循环

if (depotCount < 4){ // Runs if the depots are less than 4
System.out.println("Enter your depots name");
name = console.next().toLowerCase();
if (check(depots, name) == true){
System.out.println("Depot name already exists");
break;
}
else {
addDepot(depots, name);
}
} else {
System.out.println("Only 4 depots are allowed");
break;
}
public boolean check(Depot [] depots, String name){
boolean check = false;
for (int i = 0; i < depots.length; i++){
if(depots[i].getDepotName().equals(name))
return true;
else {
return false;
}
}
return check;

}

因此,如果名字是“Warehouse”并且我尝试第二次输入“Warehouse”,它是有效的。但如果我尝试输入与第二个插槽相同的名称,它不会返回为真。

最佳答案

你需要移除 for 循环中的 return false;,如果你放在那里,for 循环只运行一次,索引为 0。

public boolean check(Depot[] depots, String name) {
boolean check = false;
for (int i = 0; i < depots.length; i++) {
if (depots[i].getDepotName().equals(name))
return true;
}
return check;
}

你只能在没有检查变量的情况下做空。

public boolean check(Depot[] depots, String name) {
for (int i = 0; i < depots.length; i++) {
if (depots[i].getDepotName().equals(name))
return true;
}
return false;
}

关于java - 检查数组中是否存在字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56036210/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com