Java 创建数组表以便客户可以选择要购买的项目
我创建了一个“模拟”订购系统,根据客户对JoptionPane窗口的回复获取他们的输入 例如“您希望购买标准卡、Uno卡或Rook卡的类型?”他们输入答案,我的系统会记录下来,随后会关联价格 我现在想把这些物品放在一个数组中,这样我就可以继续并指定一个价格。例如,一位客户想要订购一副“蓝色、标准、塑料卡片”,我想要的与此订单相关的价格是3美元 我曾尝试在main方法中创建产品,然后在Card类和子类中创建产品。我只是想知道我是否在正确的轨道上,或者我是否需要走一条不同的路线来完成这一点Java 创建数组表以便客户可以选择要购买的项目,java,arrays,Java,Arrays,我创建了一个“模拟”订购系统,根据客户对JoptionPane窗口的回复获取他们的输入 例如“您希望购买标准卡、Uno卡或Rook卡的类型?”他们输入答案,我的系统会记录下来,随后会关联价格 我现在想把这些物品放在一个数组中,这样我就可以继续并指定一个价格。例如,一位客户想要订购一副“蓝色、标准、塑料卡片”,我想要的与此订单相关的价格是3美元 我曾尝试在main方法中创建产品,然后在Card类和子类中创建产品。我只是想知道我是否在正确的轨道上,或者我是否需要走一条不同的路线来完成这一点 //Ar
//Array
class DiamondCards{
public static void main(String[] args){
Card[] card = new Card[6];
// Fill in Cards
card[0] = new Card("Laminated Coating", "Standard", 2);
card[1] = new Card("Laminated Coating", "Uno", 2.50);
card[2] = new Card("Laminated Coating", "Rook", 2.75);
card[3] = new Card("Plastic Card", "Standard", 3);
card[4] = new Card("Plastic Card", "Uno", 3.50);
card[5] = new Card("Plastic Card", "Rook", 3.75);
// Card Super Class
static public class Card{
public String coatingType;
public String deckType;
public double cost;
public Card(String coatingType, String deckType,
double cost){
this.coatingType = coatingType;
this.deckType = deckType;
this.cost = cost;
}
}
使用
列表
而不是数组。数组的大小是固定的,如果要调整数组的大小,需要创建一个新的数组并复制所有元素,但这是一项昂贵的操作
List<Card> cards = new ArrayList<>();
// Fill in Cards
cards.add(new Card("Laminated Coating", "Standard", 2));
cards.add(new Card("Laminated Coating", "Uno", 2.50));
cards.add(new Card("Laminated Coating", "Rook", 2.75));
cards.add(new Card("Plastic Card", "Standard", 3));
cards.add(new Card("Plastic Card", "Uno", 3.50));
cards.add(new Card("Plastic Card", "Rook", 3.75));
List cards=new ArrayList();
//填写卡片
增加(新卡片(“层压涂层”,“标准”,2));
增加(新卡片(“层压涂层”,“Uno”,2.50));
增加(新卡片(“层压涂层”,“Rook”,2.75));
增加(新卡(“塑料卡”、“标准卡”3));
增加(新卡(“塑料卡”,“Uno”,3.50));
添加(新卡(“塑料卡”,“车”,3.75));
然后添加一个新的看起来不错
为了使它更好,您可以将
卡
属性设置为私有,并添加setter和getter方法。您的IDE可以免费执行此操作。假设您希望使成本评估动态化,您不必更改卡的API。是的,您走的是正确的道路
使用ArrayList或Vector可以获得更灵活的集合
您需要为客户选择的项目创建另一个集合
如果客户可以选择“蓝色”等颜色,则需要添加“颜色”
客户选择的项目列表可能是一个对象列表,其中每个对象有两个成员:卡片和数量。表示您需要推导该产品的价格客户选择的是什么?