leeronc
leeronc
2011-08-02 14:41

随机数问题(急)(初学)

  • it技术
  • 互联网问答
  • IT行业问题
  • 编程语言问答
  • 计算机技术

 

import static java.lang.Math.*;

public class luckyChoice
{
    public static void main(String args[])
    {
        int count = 6;//用来存储生成数字的个数
        int num1,num2,num3,num4 ,num5,num6;
        num1 = num2 = num3 = num4 = num5 = num6 = 1000;//用来存储生成数字的变量
        int array  = 49;//生成数字的边界
        int set = 5;//生成数字的组数
        //开始生成数字
        for(int i = 1;i <= set;i++)
        {
        
            
            for(int j = 1;j <= count;j++)
            {
                int num = (int)(array*random()) + 1;//生成随机数1-49
                
                switch(j)
                {
                    case 1:
                        num1 = num;
                        System.out.println("num:"+num+" num1:"+num1);
                        break;
                    case 2:
                        if(num != num1)
                        {
                            num2 = num;
                            System.out.println("num:"+num+" num2:"+num2);
                        }
                        break;
                    case 3:
                        if(num != num1 && num != num2)
                        {
                            num3 = num;
                            System.out.println("num:"+num+" num3:"+num3);
                        }
                        break;
                    case 4:
                        if(num != num1 && num != num2 && num != num3)
                        {
                            num4 = num;
                            System.out.println("num:"+num+" num4:"+num4);
                        }
                        break;
                    case 5:
                        if(num != num1 && num != num2 && num != num3 && num != num4)
                        {
                            num5 = num;
                            System.out.println("num:"+num+" num5:"+num5);
                        }
                        break;
                    case 6:
                        if(num != num1 && num != num2 && num != num3 && num != num4 && num != num5)
                        {
                            num6 = num;
                            System.out.println("num:"+num+" num6:"+num6);
                        }
                        break;  
                }       
            }
            System.out.println("第"+i+"组:"+num1+" "+num2+" "+num3+" "+num4+" "+num5+" "+num6);
        }
    }
}

 结果却出现:

 num:19 num1:19
num:2 num2:2
num:41 num3:41
num:8 num4:8
num:38 num6:38
第1组:19 2 41 8 1000 38
num:9 num1:9
num:20 num2:20
num:16 num3:16
num:41 num4:41
num:11 num5:11
num:12 num6:12
第2组:9 20 16 41 11 12
num:2 num1:2
num:19 num2:19
num:42 num3:42
num:26 num4:26
num:1 num5:1
num:21 num6:21
第3组:2 19 42 26 1 21
num:41 num1:41
num:17 num2:17
num:27 num3:27
num:45 num4:45
num:6 num5:6
num:40 num6:40
第4组:41 17 27 45 6 40
num:6 num1:6
num:29 num2:29
num:7 num3:7
num:10 num4:10
num:2 num5:2
num:47 num6:47
第5组:6 29 7 10 2 47

第一组为啥生成这样的记过呀,真是郁闷

  • 点赞
  • 回答
  • 收藏
  • 复制链接分享

2条回答

为你推荐