黑马程序员技术交流社区

标题: 彩票程序请教 [打印本页]

作者: 青岛恒星快印公    时间: 2014-3-3 13:16
标题: 彩票程序请教
我自己做了一个彩票的程序,需要大家给我改善,因为现在这个程序在eclipse里面出现问题了,谢谢。/**
*定义产生彩票数的方法
*
*/

/**
* @author dingshansheng
*
*/
public class MathRondom {

        /**
         * @param num1 起始范围参数
         * @param num2 终止范围参数
         * @return 随机的范围数
         */
        public static int GetEvenNum(double num1,double num2)
        {
                //产生num1-num2之间的随机数
                int s =(int)num1+(int)(Math.random()*(num2-num1));
                return s;       
        }
        public static int GetEvenNum1(double num1,double num2)
        {
                //产生num1-num2之间的随机数
                int m =(int)num1+(int)(Math.random()*(num2-num1));
                return m;
        }
       
        public static void main(String[] args) {
                // TODO Auto-generated method stub
                //调用产生随机数方法
                System.out.println("您的双色球号码是:");
                int s;
                int a[]=new int[6];
                for(int i=0;i<6;i++)
                {
                        s=GetEvenNum(1,32);

                        a[i]=s;
                }
                for(int k=0;k<6;k++)
                {
                        for(int b=1;b<k;b++)
                        {
                                if(a[k]==a[b])
                                        break;
                        }
                }
                for(int j=0;j<6;j++)
                {
                        System.out.println(a[j]+'\t');
                }
                System.out.print(GetEvenNum1(1,16));

        }

}





作者: 薛旻    时间: 2014-3-3 16:58
我运行没什么问题啊
作者: 方青木    时间: 2014-3-3 23:19
本帖最后由 方青木 于 2014-3-3 23:21 编辑

for(int k=1;k<6;k++)
{
         for(int b=0;b<k;b++)
         {
               if(a[k]==a)
                       break;
          }
}
不知道你这个for嵌套是干什么用的,是为了判断有没有重复的数据么,如果是一点用也没有。
  A:for(int i=0;i<6;i++)
                 {
                         s=GetEvenNum(1,32);
                        B:for(int j=0; j<i; j++)
                        {
                                if(a[j]==s)
                                {
                                        i--;
                                        continue A;
                                }
                        }
                        a=s;
                 }
不知道为什么我运行总是有大于32的数出现

作者: 方青木    时间: 2014-3-3 23:22
方青木 发表于 2014-3-3 23:19
for(int k=1;k

a=s
打错了,不好意思
作者: 青岛恒星快印公    时间: 2014-3-4 11:08
方青木 发表于 2014-3-3 23:19
for(int k=1;k

说实话,确实是比较头疼
作者: 青岛恒星快印公    时间: 2014-3-4 11:10
薛旻 发表于 2014-3-3 16:58
我运行没什么问题啊

我想判断一下,不要重复元素,但是总是出错
作者: 青岛恒星快印公    时间: 2014-3-4 11:12
方青木 发表于 2014-3-3 23:19
for(int k=1;k

因为你有j++




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