定义一个工具类,用于生成业务系统的单号“iss0001”,要求有两个内部变量存储当前的标号信息,不允许外部直接修改,一个存储单号前缀“iss”,提供get和set方法对其修改,另一个存储编号“0001”,长度为4位,初始化为0,无任何修改方法,递增到9999后自动归0。每次调用生成编号的方法时修改内部变量,生成递增的唯一编号并返回该单号
package homework;
public class Orders
{
private String title="";
private int id=0;
public Orders()//无参构造器
{
}
public Orders(String title,int id)//有参构造器
{
this.title =title;
this.id =id;
}
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
public String getOrderId()//重载生成编号的方法,一个默认+1
{
if(id==9999) id=0;
id++;
int n = String.valueOf(id).length();
StringBuffer sb = new StringBuffer();
for(int i=0;i<4-n;i++)//重载生成编号的方法,一个根据传入的值进行运算
{
sb.append("0");
}
String temp = title + sb.append(String.valueOf(id)).toString();
System.out.println(temp);
return temp;
}
public String getOrderId(int k)//获得订单号
{
if(id==9999) id=0;
id += k;
int n = String.valueOf(id).length();
StringBuffer sb = new StringBuffer();
for(int i=0;i<4-n;i++)
{
sb.append("0");
}
String temp = title + sb.append(String.valueOf(id)).toString();
System.out.println(temp);
return temp;
}
public static void main(String[] args)
{
Orders s1 = new Orders("ISS",8999);
s1.getOrderId();
s1.setTitle("CY");
s1.getOrderId(2);
}
}