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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 青岛恒星快印公 中级黑马   /  2014-3-3 13:16  /  861 人查看  /  6 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

我自己做了一个彩票的程序,需要大家给我改善,因为现在这个程序在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));

        }

}




评分

参与人数 1技术分 +1 收起 理由
zzkang0206 + 1 说好的问题描述呢

查看全部评分

6 个回复

倒序浏览
我运行没什么问题啊
回复 使用道具 举报
本帖最后由 方青木 于 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的数出现

评分

参与人数 1技术分 +1 收起 理由
zzkang0206 + 1

查看全部评分

回复 使用道具 举报

a=s
打错了,不好意思
回复 使用道具 举报

说实话,确实是比较头疼
回复 使用道具 举报
薛旻 发表于 2014-3-3 16:58
我运行没什么问题啊

我想判断一下,不要重复元素,但是总是出错
回复 使用道具 举报

因为你有j++
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马