编写一个工厂序列号类,该类只能提供一个唯一的随机序列号(1-100之间的随机数)供该厂所用商品使用。
时间: 2024-05-21 13:11:09 浏览: 11
以下是Python实现:
import random
class FactorySerialNumber:
used_serial_numbers = set()
@staticmethod
def generate_serial_number():
while True:
serial_number = random.randint(1, 100)
if serial_number not in FactorySerialNumber.used_serial_numbers:
FactorySerialNumber.used_serial_numbers.add(serial_number)
return serial_number
# 测试代码
print(FactorySerialNumber.generate_serial_number()) # 随机生成一个序列号
print(FactorySerialNumber.generate_serial_number()) # 再次随机生成一个序列号
print(FactorySerialNumber.generate_serial_number()) # 再次随机生成一个序列号
# 如果再次调用generate_serial_number方法,可能会得到之前已经生成过的序列号
相关问题
编写一个工厂序列号类,该类只能提供一个唯一的随机序列号(1-100之间的随机数)供该厂所用商品使用,用java实现
public class FactorySerialNumber {
private static int serialNumber = 0;
private static final int MAX_SERIAL_NUMBER = 100;
public static synchronized int generateSerialNumber() {
if (serialNumber == MAX_SERIAL_NUMBER) {
serialNumber = 0;
}
return ++serialNumber;
}
}
// 使用方法:
int serialNumber = FactorySerialNumber.generateSerialNumber();
用java的单例模式编写一个工厂序列号类,该类只能提供一个唯一的随机序列号(1-100之间的随机数)
public class SerialNumberFactory {
private static SerialNumberFactory instance;
private int serialNumber;
private SerialNumberFactory() {
serialNumber = (int) (Math.random() * 100) + 1;
}
public static synchronized SerialNumberFactory getInstance() {
if (instance == null) {
instance = new SerialNumberFactory();
}
return instance;
}
public int getSerialNumber() {
return serialNumber;
}
}
// 使用示例
public class Test {
public static void main(String[] args) {
SerialNumberFactory factory = SerialNumberFactory.getInstance();
System.out.println("序列号:" + factory.getSerialNumber());
// 序列号:73
SerialNumberFactory factory2 = SerialNumberFactory.getInstance();
System.out.println("序列号:" + factory2.getSerialNumber());
// 序列号:73
}
}
相关推荐
![txt](https://img-home.csdnimg.cn/images/20210720083642.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)