为了使解释更容易,我将快速概述该程序。我应该创建一个“在线书店”。我有抽象类项目和 2 个子类,服装和教科书。一般来说,用户将首先用教科书或服装“填充”商店,然后“出售”物品,因为它们有存货。
主要是我创建了一个 Item (抽象)数组,它将包含 Textbook 和 Apparel 类型的对象,就像“商店”一样。尝试访问数组时出现了我的问题。
例如,当“销售”一个项目时,用户输入他们想要购买的书的标题。我必须验证这个标题是否“有货”(即在 Item 数组中)
这是我购买这本书的方法(我是商店中的物品数量,商店是抽象数组,你可以看到它不完整。我被困在 if 语句上)
public static void buyBook(Item[] store, int i)
{
TextBook book = new TextBook();
String title;
title = JOptionPane.showInputDialog("Book title: ");
for(int j = 0; j < i; j++)
{
if(store[j] instanceof TextBook)
{
if()
}
}
我的想法是将标题(用户的输入)与商店中的教科书类型(抽象数组)进行比较,我知道它是错误的,但类似于:
store[j].getTitle().compareTo(title)
但是当然 store[j] 不能访问 getTitle (因为它在 TextBook 的子类中)
现在我完全被困住了。一些指导将不胜感激。