我有一个问题,我必须在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/

10-13 21:27