java吧 关注:1,249,144贴子:12,730,160

【求教贴】10到50这几个数随机产生6个不同的随机数怎么做呀

只看楼主收藏回复

用什么类呀,求各位详细指导,给说说最简单的方法吧


1楼2012-05-19 17:26回复
    random


    IP属地:上海2楼2012-05-19 18:15
    回复
      1建立两个数组,一个是10到50,一个是产生的随机6个数
      2用Math.random()方法


      IP属地:上海3楼2012-05-19 18:15
      回复
        不重复这点怎么搞呢?


        4楼2012-05-19 18:23
        回复
          那个Math。random()是什么功能


          5楼2012-05-19 18:24
          回复
            public class Test {
            public static void main(String[] args) {
            int arr[]=new int[6];
            for(int i=0;i<6;i++){
            arr[i]=(int)(Math.random()*50)+10;
            for(int j=0;j<i;j++){
            if(arr[j]==arr[i]){
            i--;
            break;
            }
            }
            }
            System.out.println("10到50随机产生6个不重复的随机数为: ");
            for(int i=0;i<6;i++){
            System.out.print(arr[i]+" ");
            }
            }
            }
            


            6楼2012-05-19 18:43
            收起回复
              0-1的随机数,用他来乘以数组长度


              IP属地:上海7楼2012-05-19 18:47
              回复
                math.random()是java.Math类中的方法。。作用是随机产生0.0到1.0的double随机数(能取到0,取不到1).所以楼主 这个方法不太好,但可以实现10+Math.random()*40 这样就可以啦,至于你说的不重复 你可以加个条件用if语句判断就好啦
                你还可以用一种方法 是实例化一个Random 然后它提供啦很多产生随机数的方法
                希望对你有用


                IP属地:重庆8楼2012-05-19 18:50
                回复
                  窝爱你


                  9楼2012-05-19 19:00
                  回复
                    其实老师给布置的是1到33随机产生7个数呢,大家太专业了,我还是个菜呀


                    10楼2012-05-19 19:05
                    回复

                      


                      11楼2012-05-19 19:06
                      回复
                        arr[i]=(int)(Math.random()*50)+10;这个是什么意思呀,求详细解释


                        12楼2012-05-19 19:08
                        收起回复
                          会超出50啊
                          加个这个
                          if(arr[i]>50)i--;


                          13楼2012-05-19 19:14
                          回复
                            首先Math为double型需要转为(int)型,接着随机范围在下限为50上限10 (数学概念)
                            也就是说50以下10以上进行随机抽取6位数。然后保存至arr数组中.


                            14楼2012-05-19 19:16
                            回复
                              先创建出一个HashSet对象,再写一个while循环,循环条件为HashSet对象.size() < 6,while循环体内的代码为:
                              生成10到50的随机数,将每次得到的随机数加入到HashSet对象里.
                              此时,需求已顺利实现.


                              IP属地:辽宁15楼2012-05-19 19:18
                              回复