如何在取出的不重复随机数中包括指定数字

怎么在取出的不重复随机数中包括指定数字/**下面代码是取出不重复的随机数,我想在这些选取的不重复随机数

怎么在取出的不重复随机数中包括指定数字

/**下面代码是取出不重复的随机数,
我想在这些选取的不重复随机数中包括指定的数(比如是13,7,26等)并且得到这些指定数字的下标值,该怎么实现
*/
public class test7  
{  
    public static void main(String[] args)  
    {  
        int[] arr = new int[10];  //抽取多少个数
 
        for (int i = 0; i < 10; i++)  
        {  
            arr[i] = (int) (Math.random() * 20) + 1;  //在什么范围
            for (int j = 0; j < i; j++)  
            {  
                if (arr[j] == arr[i])  
                {  
                    i--;  
                    break;  
                }  
            }  
        }  
        for (int i = 0; i < 10; i++)  
            System.out.print(arr[i] + ",");  
    }  
}

[解决办法]

public class Test2 
{  
    public static void main(String[] args)  
    {  
        int[] arr = new int[10];  //抽取多少个数
  
        for (int i = 0; i < 10; i++)  
        {  
            arr[i] = (int) (Math.random() * 20) + 1;  //在什么范围
            for (int j = 0; j < i; j++)  
            {  
                if (arr[j] == arr[i])  
                {  
                    i--;  
                    break;  
                }  


            }  
        }  
        for (int i = 0; i < 10; i++)  
            System.out.print(arr[i] + ",");  
        int[] att=new int[3];
        att[0]=13;att[1]=7;att[2]=26;
        for(int i=0;i<arr.length;i++){
        for(int j=0;j<att.length;j++){
        if(att[j]==arr[i]){
        System.out.println("下标:"+i+" 指定的数:"+att[j]);
        }
        }
        
        }
        
    }  


[解决办法]
建议使用数组的形式,就像彩票一样吗?
如果有必须出现的,那么再创建一个例如int[]{5,9,13},然后根据基准创建另外一个,比如是0-21 那么应该是先剔除掉之前的[5,9,13],然后创建一个存放随机数的数组,例如5位的 int[5],那么先随机吧必须出现的数分布到int[5]里面,然后记录位置,再随机获取剩余的数放入剩余的位置即可