注册 登录
重磅消息:开通VIP会员,获取平台所有项目,永久使用,详细请咨询QQ:3376762016
远程服务部署安装,售后服务,请加QQ1:3376762016,QQ2:3597230140(即将满员),QQ3:1399491757(已满)
查看: 768|回复: 0
打印 上一主题 下一主题

java基础练习题:彩票管理系统

[复制链接]

该用户从未签到

3518

主题

3532

帖子

66万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
668970
QQ
跳转到指定楼层
楼主
发表于 2016-9-22 20:01:29 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
题目要求:
/*
* 彩票管理系统:
* 需求说明:彩票管理系统可以完成以下功能:
* 1.运行程序,显示彩票系统的欢迎界面:
* *******************************
* *****欢迎使用大富翁彩票系统****
* *******************************
* 2.提示输入登录系统的账号和密码,与系统预先设定的账号密码进行比较,如果输入错误需要给出友好提示并重新输入;密码输入错误次数超过5次则退出系统;
* 3.账号密码正确后进入主菜单,包括的功能菜单为:
* (1)生成中奖号码:33选7,从1-33(包括1和33)中随机生成7个不重复的数字(如果生成有重复需要重新生成)并打印输出;
* (2)购买彩票:分为手动和随机方式两种。如果是随机方式,与(1)的方法相同,如果采用手动方式,则需要从键盘输入并进行是否重复的验证;
* (3)彩票开奖:比较购买的彩票号码与中奖号码相同的个数,如果7个数字全部相同为一等奖,奖金500万;有6个数字相同为二等奖,奖金20万;有5个数字相同为三等奖,奖金5000元;有4个数字相同为四等奖,奖金300元;有3个数字相同为五等奖,奖金5元;其他为未中奖。显示是否中奖的结果。
* (4)退出系统:提示是否真的要退出系统。
* 要求:
* 按java编码规范完成以上功能,变量名、方法名等按规范命名,代码结构清晰,注释量不小于代码量的20%。
*
*/



import java.util.Random;

public class caipiao02 {
        /*
         * 彩票管理系统: 需求说明:彩票管理系统可以完成以下功能: 1.运行程序,显示彩票系统的欢迎界面:
         * ******************************* *****欢迎使用大富翁彩票系统****
         * *******************************
         * 2.提示输入登录系统的账号和密码,与系统预先设定的账号密码进行比较,如果输入错误需要给出友好提示并重新输入;密码输入错误次数超过5次则退出系统;
         * 3.账号密码正确后进入主菜单,包括的功能菜单为:
         * (1)生成中奖号码:33选7,从1-33(包括1和33)中随机生成7个不重复的数字(如果生成有重复需要重新生成)并打印输出;
         * (2)购买彩票:分为手动和随机方式两种。如果是随机方式,与(1)的方法相同,如果采用手动方式,则需要从键盘输入并进行是否重复的验证;
         * (3)彩票开奖:比较购买的彩票号码与中奖号码相同的个数,如果7个数字全部相同为一等奖,奖金500万;有6个数字相同为二等奖,奖金20万;
         * 有5个数字相同为三等奖,奖金5000元;有4个数字相同为四等奖,奖金300元;有3个数字相同为五等奖,奖金5元;其他为未中奖。显示是否中奖的结果。
         * (4)退出系统:提示是否真的要退出系统。 要求:
         * 按java编码规范完成以上功能,变量名、方法名等按规范命名,代码结构清晰,注释量不小于代码量的20%。
         *
         */
        public static void main(String[] args) {

                System.out.println("**************************");
                System.out.println("***欢迎使用大富翁彩票系统***");
                System.out.println("**********************");
                java.util.Scanner input = new java.util.Scanner(System.in);
               
                int count = 1;
                boolean isLogin=false;//是否登录
                int []s_nums=null;//用户彩票数字
                while (true) {
                        if(isLogin==false){
                                System.out.println("请输入账号");
                                String account = input.next();
       
                                System.out.println("请输入密码");
                                String pwd = input.next();
                                if (account.equals("edmin") && "123456".equals(pwd)) {

                                        isLogin=true;
                                        continue;
                                }
                                System.out.println("输入错误"+count+"次,剩下"+(5-count)+"次");
                                count++;
                       
                                if (count >= 5) {
                                        System.out.println("密码输入错误次数超过5次,程序退出");
                                        break;
                                }
                        }else{
                                System.out.println("*************主菜单*************");
                                System.out.println("1.生成中奖号码");
                                System.out.println("2.购买彩票");
                                System.out.println("3.彩票开奖");
                                System.out.println("4.退出系统");

                                System.out.println("请选择你的操作:");
                                int answer = input.nextInt();
                                int []nums=randomNum();//随机生成中奖号码
                               
                                switch (answer) {
                                case 1:

                                        System.out.println("中奖号码:");
                                        for(int num : nums){
                                                System.out.print(num+"\t");
                                        }
                                        System.out.println();
                                        break;
                                case 2:

                                        System.out.println("1.手动 \n2.随机方式");
                                        int c=input.nextInt();
                                        if(c==1){
                                                s_nums=new int[7];//手动输入存放数字
                                                int nums_i=0;
                                                for(int i=1;i<100;i++){
                                                        if(nums_i>=7){
                                                                break;
                                                        }
                                                        System.out.print("请输入彩票第"+i+"个数:");
                                                       
                                                        int num=input.nextInt();
                                                        boolean result=checkNum(s_nums, num);
                                                        if(result==false){
                                                                System.out.println("数字已存在,请重新输入!");
                                                        }else{
                                                               
                                                                s_nums[nums_i]=num;
                                                                nums_i++;
                                                        }
                                                }
                                                System.out.println("\n输入彩票号码:");
                                                for(int num : s_nums){
                                                        System.out.print(num+"\t");
                                                }
                                                System.out.println();
                                        }else if(c==2){
                                                System.out.println("随机号码:");
                                                s_nums=randomNum();
                                                for(int num : randomNum()){
                                                        System.out.print(num+"\t");
                                                }
                                                System.out.println();
                                        }
                                       
                                        break;
                                case 3:

                                           int count_=0;
                                           for(int i=0;i<nums.length;i++){
                                                      int num=nums;
                                                      for(int j=0;j<s_nums.length;j++){
                                                                 if(num==s_nums[j]){
                                                                         count_++;
                                                                 }
                                                      }
                                           }
                                           if(count_==7){
                                                   System.out.println("恭喜中奖:一等奖,奖金500万");
                                           }else if(count_==6){
                                                   System.out.println("恭喜中奖:二等奖,奖金20万");
                                           }else if(count_==5){
                                                   System.out.println("恭喜中奖:三等奖,奖金5000元");
                                           }else if(count_==4){
                                                   System.out.println("恭喜中奖:四等奖,奖金300元");
                                           }else if(count_==3){
                                                   System.out.println("恭喜中奖:五等奖,奖金5元");
                                           }else{
                                                   System.out.println("抱歉,您没有中奖");
                                           }
                                        break;
                                case 4:

                                        System.out.println("是否退出(y/n):");
                                        String r=input.next();
                                        if("y".equals(r.toLowerCase())){
                                                System.out.println("谢谢使用本程序,下次光临!");
                                                System.exit(0);
                                        }
                                        break;

                                default:
                                        System.out.println("请输入1-4之间数字 ");
                                        break;
                                }
                        }
                       

                }

        }
       
        /**
         * 校验是否重复数字
         * @param nums
         * @param num
         * @return
         */
        public static boolean checkNum(int [] nums,int num){
                boolean flag=true;
                for (int n : nums) {
                           if(num==n){
                                   flag=false;
                                  break;
                           }
                }
                return flag;
        }
       
        /**
         * 生成7位不重复随机数
         * @return
         */
        public static int [] randomNum(){
                int []nums=new int[7];
                int nums_i=0;
                Random  r=new Random();
                for(int i=0;i<100;i++){
                        int num=r.nextInt(34);
                        boolean result=checkNum(nums,num);
                        if(result&&nums_i<7){
                                nums[nums_i]=num;
                                nums_i++;
                        }
                }
               
                return  nums;
        }

}


运行截图:










分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
java无忧网(http://www.javawyw.com),专业提供Java大作业,小作业,课程设计,毕业设计源码,答辩辅导,作业排错,bug修复,专业解答,远程部署运行项目等服务
本网站所有源码,保证能运行!
QQ:1399491757
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回列表 返回顶部