JAVA小项目(二)—— 幸运小彩票【轻松入门,附源码】

目录

1. 🌲项目功能点

 2. 🌲最终效果图

(1)购买彩票​

 (2)查看开奖         ​

 (3)退出系统

3. 🌲代码实现 


🌞哈喽,大家好丫,你们的小郭子又来啦 ~

🌞今天我们用java来写一个简单的小项目——【幸运小彩票】,嘿嘿

话不多说,直接上干货,

1. 🌲项目功能点

买彩票判断是否中奖,中奖后判断是几等奖
双色球投注区分为红色球号码区和蓝色球号码区,
红色球号码区由1-33共33个号码组成,蓝色球号码区由1-16共16个号码组成
投注时选择6个红球号码和1个蓝球号码组成一注进行单式投注,每注金额2元。
一等奖:投注号码与当期开奖号码全部相同(顺序不限,下同),即中奖;
二等奖:投注号码与当期开奖号码中的6个红色球号码相同,即中奖;
三等奖:投注号码与当期开奖号码中的任意5个红色球号码和1个蓝色球号码相同,即中奖;
四等奖:投注号码与当期开奖号码中的任意5个红色球号码相同,或与任意4个红色球号码和1个蓝色球号码相同,即中奖;
五等奖:投注号码与当期开奖号码中的任意4个红色球号码相同,或与任意3个红色球号码和1个蓝色球号码相同,即中奖;
六等奖:投注号码与当期开奖号码中的1个蓝色球号码相同,即中奖。
显示中奖结果的同时显示您一共下注人民币??元,累计中奖人民币??元

 2. 🌲最终效果图

(1)购买彩票

(2)查看开奖         

(3)退出系统

3. 🌲代码实现 

public class Test {
    public static void main(String[] args) {
        //声明一个数组,用来接收7个球的数字:
        int[] balls = new int[7];
        //购买注数:
        int count = 0;
        //定义一个变量,用来设定是否购买彩票:
        boolean isBuy = false;//默认情况下没有买彩票
        while(true){
            //写菜单:
            System.out.println("------欢迎进入双色球彩票系统---------");
            System.out.println("1.购买彩票");
            System.out.println("2.查看开奖");
            System.out.println("3.退出");
            System.out.println("请选择你要完成的功能:");
            //拿过来一个扫描器:
            Scanner sc = new Scanner(System.in);
            //从键盘接收一个int类型的数据:
            int choice = sc.nextInt();
            switch (choice){
                case 1:
                    System.out.println("双色球系统》》购买彩票");
                    System.out.println("请选择你要购买几注:");
                    count = sc.nextInt();//购买数量
                    for(int i=1;i<=7;i++){
                        if(i!=7){//录入红色球
                            System.out.println("请录入第"+i+"个红球:");
                            int redBall = sc.nextInt();
                            balls[i-1] = redBall;
                        }else{//i==7  录入蓝色球
                            System.out.println("请录入一个蓝色球:");
                            int blueBall = sc.nextInt();
                            balls[6] = blueBall;
                        }
                    }
                    //提示完整信息:
                    System.out.println("您购买了"+count+"注彩票,一共消费了"+count*2+"元钱,您购买的彩票号码为:");
                    //遍历数组:
                    for(int num:balls){
                        System.out.print(num+"\t");
                    }
                    //换行
                    System.out.println();
                    //彩票购买:
                    isBuy = true;
                    break;
                case 2:
                    if(isBuy){
                        //1.购买号码-->balls
                        //2.中奖号码
                        int[] luckBall = getLuckBall();
                        //3.将两组号码进行比对
                        int level = getLevel(balls,luckBall);
                        //4.根据level的结果执行后面的逻辑:
                        switch (level){
                            case 1:
                                System.out.println("恭喜你,中了1等奖,1注奖金500万,您一共获得:"+500*count+"万元");
                                break;
                            case 2:
                                System.out.println("恭喜你,中了2等奖,1注奖金100万,您一共获得:"+100*count+"万元");
                                break;
                            case 3:
                                System.out.println("恭喜你,中了3等奖,1注奖金30万,您一共获得:"+30*count+"万元");
                                break;
                            case 4:
                                System.out.println("恭喜你,中了4等奖,1注奖金5万,您一共获得:"+5*count+"万元");
                                break;
                            case 5:
                                System.out.println("恭喜你,中了5等奖,1注奖金2000千元,您一共获得:"+2000*count+"元");
                                break;
                            case 6:
                                System.out.println("恭喜你,中了6等奖,1注奖金5万,您一共获得:"+5*count+"元");
                                break;
                        }
                        System.out.println("双色球系统》》查看开奖");
                    }else{//如果没有买彩票 就给提示
                        System.out.println("对不起,请先购买彩票");
                    }
                    break;
                case 3:
                    System.out.println("双色球系统》》退出");
                    return;//遇到return结束当前方法
            }
        }
    }
    //定义一个方法,专门用来生成中奖号码:
    public static int[] getLuckBall(){
        //int[] luckBall = {1,2,3,4,5,6,7};
        int[] luckBall = new int[7];
        /*
        红球:1-33
        篮球:1-16
        1-33
        Math.random() -> [0.0,1.0)
        Math.random()*33 -> [0.0,33.0)
        (int)(Math.random()*33) -> [0,32]
        (int)(Math.random()*33)+1 ->[1,33]
         */
        for(int i = 1;i<=7;i++){
            if(i!=7){//给红球赋值
                luckBall[i-1] = (int)(Math.random()*33)+1;
            }else{//i==7  给蓝色球赋值:
                luckBall[6] = (int)(Math.random()*16)+1;
            }
        }
        return luckBall;
    }
    //定义一个方法,专门用来比对 购买号码和中奖号码的:
    public static int getLevel(int[] balls,int[] luckBall){
        int level = 1;
        //计数器:用来计红球有几个相等:
        int redCount = 0;
        //计数器:用来计篮球有几个相等:
        int blueCount = 0;
        //就是将我们的球一个一个的跟中奖号码比对:
        //遍历我购买的号码
        for(int i = 0;i<=6;i++){
            if(i!=6){//i:0-5 红球  比对红球
                for(int j = 0;j<=5;j++){
                    if(balls[i]==luckBall[j]){
                        redCount++;
                    }
                }
            }else{//i:6 ->蓝色球
                if(balls[6]==luckBall[6]){
                    blueCount++;
                }
            }
        }
        //输出比对结果:
        System.out.println("红球有"+redCount+"个相等");
        System.out.println("蓝球有"+blueCount+"个相等");
        //根据红球和篮球的相等数量得到level的具体结果:
        if(redCount==6&&blueCount==1){
            level = 1;
        }else if(redCount==6){
            level = 2;
        }else if(redCount==5&&blueCount==1){
            level = 3;
        }else if(redCount==5||(redCount==4&&blueCount==1)){
            level = 4;
        }else if(redCount==4||(redCount==3&&blueCount==1)){
            level = 5;
        }else{
            level = 6;
        }
        return level;
    }
}

 好啦,今天的分享到这里就结束啦 ~🌞🌞

觉得我分享的文章不错的话,可以关注一下哦,嘻嘻嘻🌞🌞

                                       

  • 4
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 新闻app是一款基于Android平台的小型项目应用程序,它主要用于展示各类新闻内容,为用户提供便捷的阅读体验。该项目源码包含了应用程序的基本框架和功能实现,方便开发者进行开发和定制。 新闻app的源码主要包含以下几个方面的内容: 1. 用户界面设计:源码中包含了新闻app的界面布局和样式,开发者可以根据自己的需要进行修改和美化。用户界面通常包括新闻列表、新闻详情页、分类标签等,开发者可以自由设计并添加其他功能模块。 2. 数据获取与展示:源码中实现了与服务器进行数据交互的功能,通过网络请求获取新闻数据,并在界面上展示出来。开发者可以根据需要修改数据请求接口和解析方式,实现与自己的服务器交互。 3. 新闻分类与搜索:源码中提供了新闻分类和搜索功能的实现,用户可以根据自己的兴趣和需求选择不同的新闻分类进行浏览,也可以通过搜索关键词进行精确定位。 4. 用户交互与分享:源码中包含了用户的登录注册功能和新闻内容的分享功能,用户可以通过登录账号进行个性化设置和收藏喜欢的新闻内容,也可以将新闻分享到社交媒体上与他人交流。 总之,新闻app源码是一个基础框架,开发者可以在此基础上进行开发和定制,根据自己的需求添加功能模块和美化界面,实现自己独特的新闻应用。 ### 回答2: Android新闻App是一个基于Android平台开发的小型项目,它的主要功能是提供最新的新闻内容给用户,并且用户可以进行浏览、搜索和分享等操作。下面是这个项目的一些关键特点和所需的源码组成部分: 1. 特点: - 用户界面友好,交互性强,提供舒适的浏览体验; - 支持实时更新,提供最新的新闻内容; - 具备搜索功能,方便用户查找感兴趣的新闻; - 支持新闻分享功能,方便用户将新闻分享给朋友; - 具备图文混排的能力,可以展示新闻的文字和图片。 2. 源码组成部分: - 主界面布局代码:定义了App的整体布局结构,包括顶部导航栏、底部工具栏和新闻显示区域等。 - 数据源代码:负责获取新闻数据,可以通过API接口获取最新的新闻内容,也可以从本地数据库获取已缓存的新闻数据。 - 新闻列表适配器代码:用于将新闻数据展示在界面上,包括标题、描述和图片等。 - 新闻详情界面代码:用于显示单篇新闻的详细内容,包括标题、正文和相关图片等。 - 搜索功能代码:实现了按关键字搜索新闻的功能,可以在已有的新闻数据中进行筛选。 - 分享功能代码:集成了社交媒体的分享SDK,方便用户将新闻内容分享给朋友。 - 图片加载和缓存代码:处理了新闻中的图片加载和本地缓存,提高了图片加载速度和用户体验。 通过以上的源码组成部分,可以完成一个基本的新闻App,用户可以在界面上浏览最新的新闻内容,进行搜索和分享操作。这个小项目可以帮助开发者理解Android开发框架和开发方式,提高编码能力和UI设计能力。 ### 回答3: 新闻app是基于Android平台开发的一个小型应用程序,可以提供用户各种最新的新闻资讯。以下是关于这个项目源码介绍。 该项目源码主要由Java语言编写,使用了Android Studio作为开发工具。代码结构清晰,包含了主要的几个模块。 1. 用户界面模块:这个模块负责显示新闻列表和新闻详情等信息,主要包含布局文件和相应的逻辑代码。列表界面使用RecyclerView控件展示新闻列表,详情界面使用WebView展示新闻内容。 2. 网络请求模块:这个模块负责与后台服务器进行数据交互,使用了Android的HttpURLConnection类来发送请求和接收响应。请求参数可以根据实际需要进行修改,例如可以根据新闻类别进行请求。 3. 数据解析模块:这个模块负责解析从服务器返回的JSON格式的数据,转换成Java对象供应用程序使用。可以使用Android提供的JSON解析库,如Gson。 4. 数据存储模块:这个模块负责缓存新闻数据,以提高应用程序的响应速度。可以使用SharedPreferences或SQLite数据库来存储新闻数据。同时也可以使用图片缓存库,如Glide或Picasso来缓存新闻图片。 5. 用户交互模块:这个模块负责处理用户的交互行为,例如点击新闻列表项跳转到新闻详情界面,下拉刷新获取最新数据等。可以使用Android提供的相关控件和事件监听器来实现用户交互。 除了以上几个主要的模块,还可以根据需要添加其他功能,例如搜索栏、分享按钮等。 总体来说,这个新闻app的源码提供了一个完整的开发框架,初学者可以通过阅读和理解源码来学习Android应用程序的开发流程和一些常用技术。同时,也可以根据实际需求进行开发,添加新的功能和改进用户体验。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值