java - Java中的随机类

标签 java random

我正在使用 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/

相关文章:

c# - 单击按钮时从资源中随机播放图片

java - 无法在 Listview android 中拖动或缩放谷歌地图

Java安全解锁读写锁?

java - 如何中断 ServerSocket Accept() 方法?

在数组中创建不同的随机数

python - 什么是伪随机?

python - train_test_split random_state 不起作用;每次都会产生不同的输出

java - Jsoup-从网站获取某些属性

java - Eclipse - 尝试基于 WSDL 文件创建 Web 服务时出现意外异常

sql - 为什么在使用 dbms_random.value 函数时需要在此 Oracle SQL 查询中包含 rownum 字段?