A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© wangjie 中级黑马   /  2015-10-7 12:33  /  322 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

import java.util.Random;
class Test_Random1 {
        public static void main(String[] args) {
                Random random = new Random();
                int num=10;                                    //随机抽查10个学生的座位号,用数组存储
                int[] arr = new int[num];        
                for (int i=0;true&&arr[num-1]==0 ;i++ ) {     //如果数组没存够10个 就一直循环,直到存够为止,(int[]数组默认值为0)
                        int x = random.nextInt(85)+1;             //1-85的随机数 比如座位号
                        int index=getIndex(arr,x);                //去除重复的数 ,查找生成的x是否已存在数组中
                        if (index==-1) {                            //如果没有存在,则存进数组
                                arr[i]=x;
                        }else{                                     //否则下标i减一,防止数组下标越界
                                i--;
                        }
                }
                printArr(arr);                                //打印
        }
        
        //查找某个数在数组中出现的第一个位置
        public static int getIndex(int[] arr,int key) {
                int index=-1;
                for (int j=0;j<10&&arr[j]!=0 ;j++ ) {
                                if(arr[j]==key){
                                        index=j;
                                        break;
                                }
                }
                return index;
        }
        //打印数组
        public static void printArr(int[] arr) {
                for (int i=0; i<arr.length; i++){
                        if(i!=arr.length-1)  {      //只要不是数组中最后一个数,就加上逗号.
                                System.out.print(arr[i]+",");
                        } else {                         //输出最后一个数时就不用加上逗号了
                                System.out.print(arr[i]);
                       }
                }
        }
}

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马