所以我有一个对象数组存储在一个标题为Warhouse的类中。在用户输入String之后,我希望将它传递给放置在类中的方法,该类不包含通过Warehouse类中对象数组的引用进行匹配的对象数组,然后打印出详细信息逐行:
public void printItemDetail(String itemNo)
{
Item [] items = inventory.getItems();
for(int i = 0; i < items.length; i++)
{
if(itemNo.equals(items[i].getItemNo()))
{
System.out.println(itemNo);
System.out.println(items[i].getItemName());
}
}
此方法位于我的对象类中。我假设我可以摆脱get方法和对象数组,因为它已经包含在类本身中了?
答案 0 :(得分:0)
你需要调用loadData来为对象赋值;然后在validateItemNo比较itemNo ==(ur object).itemNo ....如果&#39; true&#39;,使用object调用getter。希望这能给你一些想法!
答案 1 :(得分:0)
您的代码中存在错误。
sc.nextLine()
System.out.println("Please Enter the Item Number");
要比较两个字符串之间的相等性,请使用equals()
代替==
if (itemNo != "A11111" && itemNo != "B22222" && itemNo !=
"C33333" && itemNo != "D44444" && itemNo != "E55555") {
.......
}
上面的代码完全错了。你应该这样写
if (!itemNo.equals("A11111") && (!itemNo.equals("B22222")) && (!itemNo.equals("C33333")) && (!itemNo.equals("D44444")) && (!itemNo.equals("E55555"))) {
......
}
假设用户输入“A11111”我希望它打印出所有细节 项目编号为A11111的项目
因此,如果您想将用户输入(A11111)与items数组进行比较,请像这样写
if(itemNo.equals("A11111"))
{
loadData(); // assign values to objects
}