java:令人困惑的说明,购物车程序

时间:2016-03-15 04:21:17

标签: java

我的老师给了我关于这个编码任务的令人困惑的指示。如果你们可以帮助详细说明或给我提示,我会提供我所拥有的。

首先,我必须制作2个课程,这些课程将与大班级一起制作购物清单,您可以在其中编辑您想要的每个项目的数量。必须记下一个项目的名称,购买的次数以及每个项目的费用。

我完成了第一堂课,我将在这个问题的底部发布完整的编码和编码规则。

好的,这就是我所拥有的。我会一步一步走。 规则1:字段私有购买[]作为一系列购买。 跟踪实际购买数量的另一个int字段

所以我做了这个:

private int Purchase[];
private int purchaseCount;

规则2:负值没有意义,所以如果由用户提供,则将其重置为零

好的,在第一个程序中,我必须做同样的事情,但我现在很困惑如何做到这一点。

我实现了"重置为零"在修饰语中,但现在我的老师不要求修改器。我还是应该把它们放进去吗?我知道如果blahblahblah< 0,然后blahblahblah = 0"事情,但我该怎么做呢?

规则3:Accessor .length()方法,返回您购买了多少次的int字段

public int Purchase(){
    return ;
}

我想这就是我所知道的。我知道我必须回复一些东西,不知道如何使用长度。我认为这是一个参数。

最终规则4:Purchase数组的Accessor .get(int),它需要一个索引数组的参数。因此get(0)返回数组的第一个元素(Purchase对象)。

我想我理解这一点,但由于我不知道如何做最后一步,我还没有尝试过。 "获得(INT)"什么?那么我在其中执行.get(int)的访问器?我不太了解访问者,这就是我需要这个帮助的原因。程序的其余部分对我来说似乎很简单,但这个最初的东西让我很困惑。感谢。

已完成课程的规则:

三个字段,购买名称的字符串,购买单位的int和每单位成本的双倍字符。 •每个字段的标准访问器和修改器方法。 •不允许使用负值,因此在所有情况下都将其更改为零。 •构造函数按该顺序初始化这三个字段(String,int,double)。 •构造函数重载(String,double)假定int数量为零。 •假定名称为“”并且数字为零的默认构造函数,必须调用三个参数构造函数。 •getCost方法,它只是购买的单位数量乘以单位价格。 •toString方法返回一个String,其中包含项目名称,后跟括号中的单价

已完成的计划:

public class Purchase {
private String purchase;
private int unitsPurchased;
private double costPerUnit;

// Accessors
public String purchase() {
    return purchase;
}

public int unitsPurchased() {
    return unitsPurchased;
}

public double costPerUnit() {
    return costPerUnit;
}

// Modifiers
public void setPurchase(String purchase) {
    this.purchase = purchase;
}

public void setunitsPurchased(int unitsPurchased) {
    if (unitsPurchased < 0) {
        unitsPurchased = 0;
    }
    this.unitsPurchased = unitsPurchased;
}

public void setCostPerUnit(double costPerUnit) {
    if (costPerUnit < 0) {
        costPerUnit = 0;
    }
    this.costPerUnit = costPerUnit;
}
//constructors
public Purchase() {
    this("", 0, 0);
}

public Purchase(String initialPurchase, double initialCostPerUnit) {
    this.purchase = initialPurchase;
    this.unitsPurchased = 0;
    this.costPerUnit = initialCostPerUnit;
}

public Purchase(String initialPurchase, int initialUnitsPurchased, double initialCostPerUnit) {
    this.purchase = initialPurchase;
    this.unitsPurchased = initialUnitsPurchased;
    this.costPerUnit = initialCostPerUnit;
}

//end of everything I am sure about
//beginning of unsurety
public static double getCost(String purchase, int unitsPurchased, double costPerUnit) {
    return unitsPurchased * costPerUnit;
}
public static String toString(String purchase, int unitsPurchased, double costPerUnit){
    return purchase + costPerUnit;
}

}

1 个答案:

答案 0 :(得分:1)

好的,首先是规则1,代码应如下所示:

private Purchase[] purchases;
private int purchaseCount;

请记住,在这种情况下,由于您已经在其他java文件中定义了Purchase,因此您将其用作数据类型,而不是标识符。

对于规则2,您将在purchaseCount的访问方法以及构造函数中想要if语句。

规则3非常含糊......但我最好的猜测是你的老师要你为该课程定义一个长度方法,这样当你打电话说purchases.length()时它会返回购买计数。

同样,规则4是模糊的,但我最好的猜测是你需要为该类定义一个get方法,它只使用给定的索引从私有购买数组中返回一个值。 像这样:

public Purchase get(int index) {
    return purchases[index]
}

我希望这会有所帮助,祝你好运!