黑马程序员技术交流社区

标题: 随机生成0-15之间的随机数,存入长度为6的数组的中 [打印本页]

作者: java627    时间: 2016-7-29 00:40
标题: 随机生成0-15之间的随机数,存入长度为6的数组的中
要求:1.使用数组  2.数组中不能有重复的数字
作者: lbx95272006    时间: 2016-7-29 18:40
ArrayList array = new ArrayList();
                int[] arr = new int[6];
                Random r = new Random();
               
                while(array.size()<6){
                        String x = String.valueOf((r.nextInt(16)));
                        if(!array.contains(x)){
                                array.add(x);
                        }
                }
               
                for(int i =0; i<array.size();i++){
                        arr[i] = Integer.parseInt((String)array.get(i));
                }
                for(int i =0; i<arr.length;i++){
                        System.out.println(arr[i]);
                }
作者: 13411939415    时间: 2016-7-29 20:38
集合还没学,用集合应该容易一点,我用数组做一遍
public class Matn_text {
        public static void main(String[] args) {
                int[] arr = new int[6];
               
                int i = 0;
                while(i < 6) {
                        arr[i] = (int)(Math.random() * 16);     //用 0 - 15的随机数分别给数组赋值
                        if(bijiao(arr,i)) {                                                //比较这个是否存在重复的数,出现重复i不变,进入下一轮循环,
                                i++;                                                                //不出现重复值,i++,进行下一轮循环
                        }
                }
               
                for (int j = 0; j < arr.length; j++) {
                        System.out.print(arr[j] + "  ");
                }
        }
       
        public static boolean bijiao(int[] arr,int i) {
                for(int j = 0; j < i; j++) {                                //用新赋值的数与前面的数进行比较,重复返回false,不重复返回true
                        if(i != j && arr[i] == arr[j]){
                                return false;
                        }
                }
                return true;
        }
}
作者: xpf0121    时间: 2016-7-29 20:49
看的不太明白
作者: java627    时间: 2016-7-29 21:09
lbx95272006 发表于 2016-7-29 18:40
ArrayList array = new ArrayList();
                int[] arr = new int[6];
                Random r = new Random();

ArrayList和HashSet做这个题简单,你试试能用数组做出来吗
作者: java627    时间: 2016-7-29 21:12
13411939415 发表于 2016-7-29 20:38
集合还没学,用集合应该容易一点,我用数组做一遍
public class Matn_text {
        public static void main(Str ...

用数组做果然比较麻烦。。。不过你写的很赞
作者: lbx95272006    时间: 2016-8-3 00:37
13411939415 发表于 2016-7-29 20:38
集合还没学,用集合应该容易一点,我用数组做一遍
public class Matn_text {
        public static void main(Str ...

写得好





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2