Java 从表中获取对象
我写了这个函数。我试图在对象表中查找对象并返回字符串表Java 从表中获取对象,java,Java,我写了这个函数。我试图在对象表中查找对象并返回字符串表 public Server(wine[] d) { this.d=d; } public String[] getData(String name) { String[] data = new String[2]; int i=0; while(i < d.length && s != d[i].id) i++; if (i < d.length)
public Server(wine[] d) {
this.d=d;
}
public String[] getData(String name) {
String[] data = new String[2];
int i=0;
while(i < d.length && s != d[i].id)
i++;
if (i < d.length) {
data[0] = d[i].name;
data[1] = d[i].price;
return data;
}
else System.out.println(s + " Not Found ");
data[0] = "error";
data[1] = "error";
return data;
}
我认为问题在于这两方面:
data[0]= d[i].name;
data[1]= d[i].price;
如果我正确理解您的要求,那么您希望从葡萄酒对象数组中获取一种葡萄酒的名称和价格。试试这个
public String[] getData(String name)
{
String[] data = new String[2];
boolean wineFound = false;
for (int i = 0; i < d.length; i++)
{
if( d[i].name.equals(name) )
{
data[0] = name;
data[1] = d[i].price;
wineFound = true;
}
}
if (wineFound == true)
return data;
else
{
data[0] = "error";
data[1] = "error";
return data;
}
}
public String[]getData(字符串名称)
{
字符串[]数据=新字符串[2];
布尔值=false;
对于(int i=0;i
看起来此错误来自于您未显示的完全不同的代码。请发布完整的堆栈跟踪。您如何调用getData
?是不是getData(null)
?另外,为什么getData
使用未使用的字符串名
?不知道哪行会抛出错误,我们无能为力。您可能将null
字符串传递给getData
。噢,d[i]。name==name
将字符串与=
进行比较
public String[] getData(String name)
{
String[] data = new String[2];
boolean wineFound = false;
for (int i = 0; i < d.length; i++)
{
if( d[i].name.equals(name) )
{
data[0] = name;
data[1] = d[i].price;
wineFound = true;
}
}
if (wineFound == true)
return data;
else
{
data[0] = "error";
data[1] = "error";
return data;
}
}