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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© HHSUVV 初级黑马   /  2018-4-16 17:22  /  1027 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

老师给的彩票程序:输入一组号码,与系统随机生成的一组号码对比,中奖概率太小。
* 于是稍微改了一下:
* 1.中奖号码组A由我们输入,而购买的号码组B随机生成,将两A与B进行比较,若不相同则继续随机生成B,直到相同为止,返回B随机生成的次数;
* 2.中奖号码组A由系统随机生成,购买的号码组B也随机生成,将两A与B进行比较,若不相同,A保持不变,B继续随机生成,直到相同为止,返回B随机生成的次数;
* B随机生成的次数即为达到中奖时,购买彩票的次数;(基础班未毕业,就这水平了。。。)
======代码如下======
import java.util.Arrays;
import java.util.Random;
import java.util.Scanner;

public class ZhongCai {

        public static void main(String[] args) {
                System.out.println("¥这是一个模拟福彩3D中奖的小程序¥"+"\n");
                System.out.println("****请选择要进行的操作****"+"\n"+"1.三个中奖号码随机生成"+"\n"+"2.手动输入三个中奖号码"+"\n");
                Scanner sc = new Scanner(System.in);
                int num = sc.nextInt();
                switch(num){
                case 1:                                                                                        //随机生成的三个号码与随机生成的三个号码比较
                        System.out.println("随机生成的中奖号码为:");
                        int[] arrSj = getArr();
                                System.out.println("\n");
                                System.out.println("随机生成的号码为:");
                                compare(arrSj);
                                break;
                        case 2:                                        //手动输入的三个号码与随机生成的三个号码比较
                        int[] arrSd=getArrs();
                        System.out.println("手动输入的中奖号码为:");
                        for(int i = 0;i<arrSd.length;i++){
                                System.out.print(arrSd[i]+"\t");
                        }
                                System.out.println("\n");
                                System.out.println("随机生成的号码为:");
                                compare(arrSd);
                                break;
                        default:
                                System.out.println("输入有误,谢谢使用");
                        }
        }       
        public static void compare(int[] arr){          //比较两串号码是否一样的方法,并且一直比较直到相同为止
                        int m = 0;
                        while(true){
                        int[] suiji=getArr();
                         m++;
                         if((Arrays.equals(arr, suiji))){
                                 System.out.println("\n");
                                 System.out.println("恭喜你中奖了");
                                 System.out.println("一共买了"+m+"注才中奖,你的学费我包了~~");
                                 return;
                         }else{
                                 System.out.println("");
                        }
                }
        }
       
        public static int[] getArr(){       //随机生成彩票号码的方法
                System.out.println();
                int[] arr = new int[3];
                for(int i = 0;i<arr.length;i++){
                        Random r = new Random();
                        int n = r.nextInt(10);
                        arr[i]=n;
                        System.out.print(n+"\t");
                       
                }
                        return arr;
       
        }       
        public static int[] getArrs(){     //手动输入中奖号码的方法
                int[] arrs = new int[3];
                Scanner sc = new Scanner(System.in);
                System.out.println("请手动输入中奖号码(0~9):");
                for(int x = 0;x<arrs.length;x++){
                        System.out.println("请输入第"+(x+1)+"个号码:");
                        int a = sc.nextInt();
                        if(a>=0&&a<=9){
                        arrs[x] =a;
                }else{
                        System.exit(0);
                        System.out.println("输入有误谢谢使用");
//                        return ;
                }
        }
                        return arrs;
        }
}


1 个回复

倒序浏览
加油,继续努力,每天做笔记
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马