我第一次学习java是因为我对编程很感兴趣,而且我正在研究这个程序有问题。
此代码用于返回相关代理的索引,如果未找到则返回-1,但它会一直返回-1。
private Agent [] agents; //an array of Agent
public int findAgentLocation (String name)
{
for (int index = 0; index < agents.length; index++)
{
if (agents[index]).equals(name)){
return index;
}
}
return -1;
}
}
感谢您的帮助
答案 0 :(得分:0)
执行此操作时:if (agents[index].equals(name)){
,您实际上是在比较两种不同的数据类型(&#39;代理&#39;和#39;字符串&#39;)。 Java将进行对象比较,因此它们将永远不会相等。所以你最终会回来&#34; -1&#34;总是
假设Agent类有一个名称变量,你需要做这样的事情:
if (agents[index].getName().equals(name)){
答案 1 :(得分:0)
您可能想在代理
中检查您的等号(字符串)