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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

要求是让程序自动生成36选7的彩票号,其中不允许出现0~~ 因为随机的 所以我自己验证几遍都没问题~请大神指教看看哪里有问题吗  还有没有更好的方法啊  

public class Demo11_2 {

        public static void main(String[] args) {
                random();
        }


public static void random() {
                Random rd = new Random();
                //创建一个字符串
                String str = "";
                //循环7次产生7个随机数
                for (int x = 1; x <= 7; x++) {
                        str =str+ (str.valueOf(rd.nextInt(36))+" ");
                }
                //进行判断查看是否有0的存在
                if (str.indexOf("0") == -1)
                        System.out.println(str);
                else
                        random();
        }

}

评分

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

查看全部评分

3 个回复

正序浏览

谢谢!  这个代码好!
回复 使用道具 举报
zengming13 发表于 2014-3-4 16:01
你应该用一个变量来记录生成的数字的个数,以这个为循环条件,然后循环产生有效的数字,有效的懂吗?就是只 ...

谢谢你  我懂了
回复 使用道具 举报
  1. Random rd = new Random();
  2.                 System.out.print("[");
  3.                 for (int i = 1; i <= 7; i++) {
  4.                           if(i == 7) {                       
  5.                                       System.out.print(rd.nextInt(36)+1 + "]");
  6.                           }else {
  7.                                       System.out.print(rd.nextInt(36)+1 + ",");
  8.                           }
  9.                 }
复制代码


评分

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

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马