我有这个类将从我的主类中使用,并将创建类Sale
的对象:
import acm.program.*;
public class Sale {
int size = 0;
public int scode = 0 ; // sell code
public String cname ; // client name
public int cphone ; // client phone
public String sdate ; // selling date
public int cost ; // final cost
public int aItems[] // sold product
public Sale (Item aItems[],String cname, String cphone, String sdate) {
this.aItems = aItems ;
this.cname= cname;
this.sphone= sphone;
this.sdate= sdate;
}
public void setsItems(Items aItems) {
this.aItems= aItems;
}
public void setCname (String name) {
this.name= name;
}
public void setCphone(String cphone) {
this.cphone= cphone;
}
public void setSDate(String sdate) {
this.sdate= sdate;
}
该项目说,在我的主要课程中,我必须有办法通过输入将在本课程中创建的销售的唯一ID号来审查任何销售。我的问题是我不知道如何设置我的课程,以便每次从我的主电话调用它时都会生成一个新的id号码,从1开始每次增加1。 有什么想法吗?
答案 0 :(得分:1)
使用static
成员变量存储上次销售的ID号。静态成员是一个变量,它是类的一部分,而不是对象。此值可以按您的需要递增。
创建一个新方法来访问该变量,每次生成新ID时,该变量也会将变量递增1。
在您的main中,调用Sale.generateNewID()方法,然后将该新ID传递给Sale类的构造函数。
public class Sale {
public static int idCount = 0;
public static int generateNewID() {
return ++idCount;
}
// this is a new member variable to store the id of the sale
private int id;
// note: added id parameter to constructor
public Sale (int theId, Item aItems[],String cname, String cphone, String sdate) {
this.id = theId;
// other constructor assignments that you had go here.
}
... // rest of your code
}