我的老师给了我关于这个编码任务的令人困惑的指示。如果你们可以帮助详细说明或给我提示,我会提供我所拥有的。
首先,我必须制作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;
}
}
答案 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]
}
我希望这会有所帮助,祝你好运!