以下是一个简单的Java代码示例,可以生成8位数字的不重复流水号:

import java.util.HashSet;
import java.util.Random;
import java.util.Set;

public class SerialNumberGenerator {
    private static final int MAX_SERIAL_NUMBER = 99999999;
    private static final int MIN_SERIAL_NUMBER = 10000000;
    private static final int SERIAL_NUMBER_LENGTH = 8;

    private static final Set<Integer> usedSerialNumbers = new HashSet<>();

    public static synchronized int generateSerialNumber() {
        int serialNumber;
        do {
            serialNumber = new Random().nextInt(MAX_SERIAL_NUMBER - MIN_SERIAL_NUMBER + 1) + MIN_SERIAL_NUMBER;
        } while (usedSerialNumbers.contains(serialNumber));
        usedSerialNumbers.add(serialNumber);
        if (usedSerialNumbers.size() > MAX_SERIAL_NUMBER - MIN_SERIAL_NUMBER + 1) {
            throw new RuntimeException("Exhausted all possible serial numbers.");
        }
        return serialNumber;
    }

    public static String generateSerialNumberString() {
        int serialNumber = generateSerialNumber();
        return String.format("%0" + SERIAL_NUMBER_LENGTH + "d", serialNumber);
    }
}

使用方法:

String serialNumber = SerialNumberGenerator.generateSerialNumberString();

每次调用generateSerialNumberString()方法都会返回一个新的、8位数字的不重复流水号。如果流水号已经用完了(达到了99999999个),则会抛出RuntimeException异常

java生成纯数字不重复的8位流水号

原文地址: https://www.cveoy.top/t/topic/huBV 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录