以随机数中最大值生成以其为最大值的随机数

问题

随机1-100生成十位数其中以最大数为尾数 生成前面1到尾数的数

用代码块功能插入代码,请勿粘贴截图

```java
public class Test {

    public static void main(String[] args) {
        Random r=new Random();
        int[] sjs = new int[10];
        int max=0;
        for(int i = 1;i<10;i++){
            sjs [i]=r.nextInt(1,max);
        }
        for (int i = 0; i < sjs.length; i++) {
            sjs[i] = (int) (Math.random() * 99 + 1);
        }
        //冒泡排序
        for (int i = 0; i < sjs.length - 1; i++) {
            for (int j = 0; j < sjs.length - 1 - i; j++) {
                if (sjs[j] > sjs[j + 1]) {
                    int temp = sjs[j];
                    sjs[j] = sjs[j + 1];
                    sjs[j + 1] = temp;
                }
            }
        }
        //显示
        for (int i = 0; i < sjs.length; i++) {
            System.out.print(sjs[i] + "\t");
        }
        }
    }


```

运行结果及报错内容

对于nextInt(int,int), 找不到合适的方法

我的解答思路和尝试过的方法

生成一个for循环使用下面所生成最大值进行生成随机数

我想要达到的结果

随机1-100生成十位数其中以最大数为尾数 生成前面1到尾数的数

sjs [i]=r.nextInt(1,max);
这里一开始max应该初始化成100呀,你传个0能对吗
而且你只是需要找到最大值,为什么要排序?

 public static void main(String[] args) {
        Random r=new Random();
        int[] sjs = new int[10];
        int max=0;
        for(int i = 1;i<10;i++){
            sjs[i] = (int) (Math.random() * 99 + 1);
            if(max<sjs[i]){
                max=sjs[i];
            }
        }
        System.out.println("生成随机数为:");
        for (int i = 0; i < sjs.length; i++) {
            System.out.print(sjs[i] + "\t");
        }
        System.out.println("最大值为"+max);
        System.out.println();
        for (int i = 1; i <=max; i++) {
            System.out.print(i + "\t");
        }
    }