我有一个问题,我必须在Java中创建一个方法来获取票证编号,每次调用该票证编号时,它都会依次生成一个编号。
这是我到目前为止关于票务方法的内容
public class Ticket
{
public static final String PREFIX = "CAR";
public static int number = 1000;
//instance variables
private String ticketNumber;
public Ticket(){
ticketNumber = generateTicketNumber();
}
public String getTicketNumber(){
return ticketNumber;
}
private String generateTicketNumber(){
number = number++;
ticketNumber = PREFIX +number;
return ticketNumber;
}
我被告知要使用一个静态变量(我拥有)来创建并持有一个计数器,以生成票证编号的一部分,递增该静态变量并将其与字符串前缀组合后分配给字段ticketNumber。当我创建一个对象时,它不会增加到CAR1001,而只是增加到CAR1000,我是否可以为此尝试while循环?
最佳答案
number = number++;
未评估您的想法。这实际上是在右侧使number
递增,但是number++
也是一个表达式,其值是number
的旧值,在递增之前。然后,由于分配了number = ...
,该旧值将分配给左侧的number
,从而取消了增量。
因此,您应该只写number++;
,它只是增加变量。
关于java - oop java方法按顺序递增数字,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/60645699/