我正在使用 Java 制作一个预订系统,我想创建随机 ID 号。 (我要展示的代码并不是我的类中的所有代码,它只是相关的内容。)
我命名了一个字段 randomGenerator,它是一个 Random 对象,并在我的构造函数中声明了它:
public class ReservationSystem {
private Random randomGenerator;
public ReservationSystem() {
randomGenerator = new Random();
}
然后这是我遇到困难的方法:
public void generateCustomerID(String id, int numbersInID) {
//incNumber stands for incremented number
int incNumber = 1;
//create a new array of numbers as big as the user has defined
int[] numbers = new int[numbersInID];
while(numbersInID < (incNumber +1)) {
//add a new number to the array between 0 and 10
numbers[incNumber] = randomGenerator.nextInt(10);
incNumber++;
}
System.out.print(id);
for(int number: numbers)
System.out.print(number);
}
在我的应用程序中,我给出了这些值:
public class Application {
public static void main(String[] args) {
reserve.generateCustomerID("AB-", 3);
}
}
我已经收到输出AB-000。
最佳答案
- 在 Java 中,数组的索引从 0 开始,而不是 1。
- 条件
numbersInID < (incNumber +1)
是错误的,当numbersInID
时循环体不会被执行是 3。
试试这个:
public void generateCustomerID(String id, int numbersInID) {
//incNumber stands for incremented number
int incNumber = 0;
//create a new array of numbers as big as the user has defined
int[] numbers = new int[numbersInID];
while(incNumber < numbersInID) {
//add a new number to the array between 0 and 10
numbers[incNumber] = randomGenerator.nextInt(10);
incNumber++;
}
System.out.print(id);
for(int number: numbers)
System.out.print(number);
}
关于java - Java中的随机类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36102753/