我正在做这件功课。它关于垃圾箱的包装问题,但对手推车做了一些修改。手推车内可以有两个或多个桩。到目前为止,我所做的是制作包裹类和桩类。我需要遵循的规则很少。其中之一是,当我将包裹(宽度3)放入桩内时,我无法在上面放置包裹(宽度4)。
是的,我将有手推车班,桩班和包裹班。
我在这里尝试做的事情是在桩类内部创建一个函数,将桩的宽度更改为刚刚放入的宗地的宽度。如何从桩类访问宗地宽度?只是getW()吗?非常感谢您的帮助。还是我应该在手推车班上这样做?不确定如何执行此操作。
public class Parcel {
private int H;
private int W;
private int customer;
Parcel(int inH, int inW, int inCustomer){
this.H = inH;
this.W = inW;
this.customer = inCustomer;
}
public int setH(){
int x = (int )(Math.random() * 50 + 1);
return x;
}
public int setW(){
int y = (int )(Math.random() * 100 + 1);
return y;
}
public int getW(){
return W;
}
public int getH(){
return H;
}
最佳答案
您的setW()
命名错误。它应该是randomizeWidth()
。您应该考虑做的是为上述类提供一个有效的宽度设置器方法,即setWidth(int width)
,它设置了W变量(将其重命名为width
以符合Java命名约定-变量名应以小写字母开头),以便外部类可以调用该方法并设置宽度。
同样,桩的宽度和其他属性也应具有有效的设定器和吸收器。然后桩可以调用上面的宗地方法,并使用该信息设置其宽度。如果桩对象保存了宗地对象,那么桩更好地根据其持有的宗地对象的宽度设置自己的宽度。所以我的建议是,包裹不要设置桩的宽度。