该程序打印出介于-10和+10之间的数字,但是我希望它介于1和999之间

时间:2018-12-04 23:57:14

标签: java arrays

我已经编写了这段代码来创建一个数组列表,该列表用50个数字填充列表,但是它们都必须是随机数,并且任何数字都不能相同,并且所有数字都必须在1到999之间。但是,在我的代码中, “ randomNum”仅返回介于-10和+10之间的数字。

非常感谢您提供有关如何更改此设置的帮助

我现在拥有的代码:

import java.util.Random;

public class NumberList {


private static double[] anArray;

public static double[] list(){
    anArray = new double[50];
    return anArray;
}

public static void print(){
    for(double n: anArray){
        System.out.println(n+" ");
    }
}


public static double randomFill(){
    Random rand = new Random();
    int randomNum = rand.nextInt();
    return randomNum;
}

public static void main(String args[]) {
    list();
    for(int i = 0; i < anArray.length; 
i++){
        anArray[i] = randomFill();
    }
    print();
}


}

1 个答案:

答案 0 :(得分:0)

您需要这样定义您的Random:

Random rand=new Random();
rand.nextInt((max+1) - min) + min;

因此,请像这样更改您的代码:

公共类主要{

private static int[] anArray;

public static int[] list(){
    anArray = new int[50];
    return anArray;
}

public static void print(){
    for(int n: anArray){
        System.out.println(n+" ");
    }
}


public static int randomFill(){
    Random rand = new Random();
    int randomNum = rand.nextInt((1000) - 1) + 1;
    return randomNum;
}

public static void main(String args[]) {
    list();
    for(int i = 0; i < anArray.length; 
i++){
        anArray[i] = randomFill();
    }
    print();
}


}