JAVASE基础《七》JAVA案例小王子C

八、案例八:打印乘法表,打印三角形

九、案例九:模拟双色球[拓展案例]

1、业务分析、随机生成一组中奖号码

2、让用户输入一组号码

3、判断中奖情况

前言

目的1:复习前面学过的编程知识,能够利用所学的知识解决问题

目的2:积攒大家的代码量,以训练并提升大家的编程能力,编程思维

案例买飞机票

需求用户购买机票时,机票价格按照淡季、旺季、头等舱还是经济舱的情况进行相应的优惠,优惠方案如下:

旺季(5-10月)头等舱9折,经济舱8.5折,淡季(11月到来年4月)头等舱7折,经济舱6.5折,请开发程序计算出用户当前机票的优惠价。

分析

publicclasstest{publicstaticvoidmain(String[]args){doubleprice=calculate(1000,8,"经济舱");System.out.println("优惠价是:"+price);}publicstaticdoublecalculate(doubleprice,intmonth,Stringtype){//1.判断当前月份是旺季还是淡季if(month>=5&&month<=10){switch(type){case"头等舱":price=price*0.9;break;case"经济舱":price*=0.85;break;}}else{switch(type){case"头等舱":price=price*0.9;break;case"经济舱":price*=0.85;break;}}returnprice;}}总结

1、遇到需要通过判断数据在哪个区间,来决定执行哪个业务,应该用什么实现?

2、遇到需要通过判断数据匹配哪个值,来决定执行哪个业务,应该用什么实现?

案例开发验证码

需求:

①方法是否需要接受数据?需要接收一个整数,控制生成验证码的位数。

②方法是否需要返回数据?需要返回生成的验证码。

③方法内部的业务:使用for循环依次生成每位随机字符,并使用一个String类的变量把每个字符连接起来,最后返回该变量即可。

packagecom.ctgu.demo;importjava.util.Random;publicclasstest{publicstaticvoidmain(String[]args){System.out.println(createCode(5));}publicstaticStringcreateCode(intn){Randomr=newRandom();Stringcode="";for(inti=0;i

1、随机验证码的核心实现逻辑是如何进行的?

三、案例三:评委打分

案例评委打分案例

需求

在唱歌比赛中,有6名评委给选手打分,分数范围是[0-100]之间的整数。选手的最后得分为:去掉最高分、最低分后的4个评委的平均分,请完成上述过程并计算出选手的得分。

packagecom.ctgu.demo;importjava.util.Random;importjava.util.Scanner;publicclasstest{publicstaticvoidmain(String[]args){System.out.println(getAverageScore(6));}publicstaticdoublegetAverageScore(intnumber){int[]scores=newint[number];Scannersc=newScanner(System.in);for(inti=0;iscores[i])min=scores[i];}return1.0*(sum-min-max)/(number-2);}}总结

1、如何实现评委打分案例?

案例数字加密

需求某系统的数字密码是一个四位数,如1983,为了安全,需要加密后再传输,加密规则是:对密码中的每位数,都加5,再对10求余,最后将所有数字顺序反转,得到一串加密后的新数,请设计出满足本需求的加密程序!

1、方法是否需要接受数据进行处理?需要接受四位数字密码,进行加密处理。

2、方法是否需要返回数据?需要返回加密后的结果。

3、方法内部的业务:将四位数密码差分成一个一个的数字,存入到数组中去,遍历数组中的每个数字,按照题目需求进行加密!最后,再把加密后的数字拼接起来返回即可!

packagecom.ctgu.demo;importjava.util.Random;importjava.util.Scanner;publicclasstest{publicstaticvoidmain(String[]args){System.out.println("加密后的结果是:"+encrpyt(1983));}publicstaticStringencrpyt(intnumber){int[]numbers=split(number);for(inti=0;i

1、回顾数组元素的反转、交换是如何完成的?

2、如果一个方法里要做的事比较多,我们再开发中一般会怎么做?

案例数组拷贝

需求请把一个整型数组,例如存了数据:11,22,33,拷贝成一个一模一样的新数组出来。

1、方法是否需要接受数据进行处理?需要接受一个整型数组(原数组)。

2、方法是否需要返回数据?需要返回一个新的、一摸一样的整型数组。

3、方法内部业务:创建一个长度一样的整型数组作为新数组,并把原数组的元素对应位置赋值给新数组,最终返回新数组即可。

packagecom.ctgu.demo;importjava.util.Random;importjava.util.Scanner;publicclasstest{publicstaticvoidmain(String[]args){int[]arr={11,22,33};int[]arr2=copy(arr);printArray(arr2);}publicstaticvoidprintArray(int[]arr){System.out.print("[");for(inti=0;i

1、数组的拷贝是什么意思?

案例抢红包

1、方法是否需要接受数据进行处理?需要接受一个数组,里面是5个金额,表示5个红包。

2、方法是否需要返回数据?不需要

packagecom.ctgu.demo;importjava.util.Random;importjava.util.Scanner;publicclasstest{publicstaticvoidmain(String[]args){int[]moneys={9,666,188,520,9999};start(moneys);}publicstaticvoidstart(int[]moneys){Scannersc=newScanner(System.in);Randomr=newRandom();//moneys={9,666,188,520,99999}for(inti=1;i<=5;i++){System.out.println("请您输入任意内容进行抽奖:");sc.next();//等待用户输入内容,按了回车才往下走。while(true){intindex=r.nextInt(moneys.length);//0-4intmoney=moneys[index];if(money!=0){System.out.println("恭喜您,您抽中了红包,"+money);;moneys[index]=0;break;}}}System.out.println("活动结束。。");}}4、方法内部完成本需求的第2种方案:先把数组里面的5个金额打乱顺序,打乱后的顺序就认为是中奖顺序;接着,写个for循环,执行5次,每次都提示抽奖;每次抽奖。都依次取出数组中的每个位置处的金额作为中奖金额即可。

packagecom.ctgu.demo;importjava.util.Random;importjava.util.Scanner;publicclasstest{publicstaticvoidmain(String[]args){int[]moneys={9,666,188,520,9999};start(moneys);}publicstaticvoidstart(int[]moneys){Scannersc=newScanner(System.in);Randomr=newRandom();//moneys={9,666,188,520,99999}for(inti=1;i<5;i++){intindex=r.nextInt(moneys.length);//0-4inttemp=moneys[i];moneys[i]=moneys[index];moneys[index]=temp;}for(inti=0;i<5;i++){System.out.println("请您输入任意内容进行抽奖:");sc.next();//等待用户输入内容,按了回车才往下走。while(true){if(i<5){System.out.println("恭喜您,您抽中了红包,"+moneys[i]);break;}}}System.out.println("活动结束。。");}}总结

1、抢红包的实现方案有几种,哪种方式可能更好一些?

案例找素数

说明:除了1和它本身以外,不能被其他正整数整除,就叫素数。

比如:3、7就是素数,而9、21等等就不是素数。

分析:

1、方法是否需要接受数据进行处理?需要接受101以及200,以便找该区间中的素数。

2、方法是否需要返回数据?需要返回找到的素数个数。

3、方法内部的实现逻辑:使用for循环来产生如101到200之间的每个数;没拿到一个数,判断该数是否素数;判断规则是:从2开始遍历到该数的一半的数据,看是否有数据可以整除它,有则不是素数,没有则是素数;根据判定的结果来决定是否输出这个数据(是素数则输出);最后还需要统计素数的个数并返回。

packagecom.ctgu.demo;importjava.util.Random;importjava.util.Scanner;publicclasstest{publicstaticvoidmain(String[]args){//目标:完成找素数System.out.println("当前素数的个数是:"+search(101,200));}publicstaticintsearch(intstart,intend){intcount=0;//start=101end=200//1、定义一个for循环找到101到200之间的每个数据for(inti=start;i

packagecom.ctgu.demo;importjava.util.Random;importjava.util.Scanner;publicclasstest{publicstaticvoidmain(String[]args){//目标:完成找素数intcount=0;OUT://为外部循环指定标签for(inti=101;i<200;i++){//i=101,102,....200//2、判断当前1记住的这个数据是否是素数。for(intj=2;j<=i/2;j++){if(i%j==0){//当前记住的这个数据不是素数了continueOUT;//结束外部循环的当次执行}}count++;System.out.println(i);}System.out.println("个数是:"+count);}}法3

packagecom.ctgu.demo;importjava.util.Random;importjava.util.Scanner;publicclasstest{publicstaticvoidmain(String[]args){intcount=0;for(inti=101;i<=200;i++){//i遍历到的当前数据是否是素数,是则输出,不是则不输出。if(check(i)){System.out.println(i);count++;}}System.out.println("素数的个数是:"+count);}publicstaticbooleancheck(intdata){for(inti=2;i<=data/2;i++){if(data%i==0){returnfalse;//不是素数}}returntrue;}}总结

1、本次案例中是如何确定处该数是素数的,具体如何实现?

案例打印乘法表

packagecom.ctgu.demo;publicclasstest{publicstaticvoidmain(String[]args){//1、定义一个for循环控制打印多少行for(inti=1;i<=9;i++){//2、定义一个内部循环控制每行打印多少列。for(intj=1;j<=i;j++){//i行j列System.out.print(j+"x"+i+"="+(j*i)+"\t");}System.out.println();//换行}}}

案例打印三角形

九、案例九:模拟双色球【拓展案例】

案例双色球系统-业务分析、随机生成一组中奖号码

双色球业务介绍:

总体实现步骤分析:

注意:6个红球号码的范围是1-33之间,且不能重复;1个篮球号码的范围在:1-16之间。

1、本次案例中是如何去保证用户投注的6个红球号码不重复的?

2、随机生成一组中奖号码

案例模拟双色球:随机一组中奖号码出来

第二步:随机一组中奖号码出来

注意:6个红球号码的范围是1-33之间,且不能重复;1个蓝球号码的范围在:1-16之间。

//2、设计一个方法:随机一组中奖号码出来(6个红球号码,1个蓝球号码)publicstaticint[]createLuckNumbers(){//1、创建一个整型数组,用于存储7个号码int[]numbers=newint[7];Randomr=newRandom();//2、遍历6个位置处,依次随机一个红球号码存入(1-33不重复)for(inti=0;i

1、本次案例中是如何去保证随机的6个中奖的红球号码不重复的?

THE END
1.广东省福利彩票发行中心那么,双色球游戏的复式投注有几种?怎么玩? 双色球复式投注分为3种 红色球号码复式、蓝色球号码复式、全复式 【红色球号码复式】 是指从红色球号码中 选择7个号码以上(含7个号码) 从蓝色球号码中选择1个号码 组合为多注单式投注号码的投注 如7+1、8+1等 http://www.gdfc.org.cn/datas/content/content_271292.html
2.12亿大派奖!双色球复式玩法再添小乐趣澎湃号·政务澎湃新闻那么,双色球游戏的复式投注有几种?怎么玩? 双色球复式投注分为3种 红色球号码复式、蓝色球号码复式、全复式 【红色球号码复式】 是指从红色球号码中 选择7个号码以上(含7个号码) 从蓝色球号码中选择1个号码 组合为多注单式投注号码的投注 如7+1、8+1等 https://www.thepaper.cn/newsDetail_forward_29448751
3.双色球中三蓝号,揭开中奖秘密的那些事儿双色球是一种 popular 的彩票游戏,玩家需从红球和蓝球中选择号码。在双色球中,三蓝号是指玩家选中的三个蓝球号码。如果在开奖中,玩家所选的三蓝号与实际开奖结果相符,那么就可以获得相应的奖金。尽管三蓝号的奖金相比于全中红球的奖金要低,但仍然是一种小额奖励,让更多的玩家体验到中奖的乐趣。参与双色球,不仅http://www.hljmx.net/guanwang/3445.shtml
4.双色球3+0竟然没奖?步行街主干道昨天买了2注双色球,都中了3+0。结果一查发现不算中奖。好坑啊 https://bbs.hupu.com/33554094.html
5.双色球,8+1中奖金,谁知道?中0+1.1+1.2+1多少?中3+1.4+0多少?中4+答案解析 查看更多优质解析 解答一 举报 福彩双色球:8+1共有28注号码需要56元钱:中2+1、1+1、0+1的话,可以中140元;中3+1的话,可以中190元;中4+0的话,可以中60元;中4+1的话,可以中1390元;中5+0的话,可以中750元;中5+1的话,可以中12100元。 解析看不懂?免费查看同类题视频解析查看解答 https://qb.zuoyebang.com/xfe-question/question/4bf65e82c38d2f6a37f5f2abace103d9.html
6.100个LinuxShell脚本经典案例解析linux中动态生成一个文件# RANDOM 为系统自带的系统变量,值为 0‐32767的随机数 # 使用取余算法将随机数变为 1‐100 的随机数 num=$[RANDOM%100+1] echo"$num" # 使用 read 提示用户猜数字 # 使用 if 判断用户猜数字的大小关系:‐eq(等于),‐ne(不等于),‐gt(大于),‐ge(大于等于), https://blog.csdn.net/zhouchuan152/article/details/133940692
7.3*4平方电缆线必看34条小知识8、双色球中红球4个是多少钱 双色球单式彩票,一组号码选中4红球,中五等奖,奖金10元。双色球中奖规则是,六等奖,中0十1单注奖金5元,五等奖,中4十0或3十1单注奖金10元。 9、年线是多少日均线 当股价在年均线的上方往下运行,触碰年均线之后,拐头向上运行,则年均线起到支撑作用,是一种买入信号。 https://www.haoluoyi.com/dldq/9513/
8.双色球“中3+0”没奖金?不!重庆有!什么?!双色球“中3+0”也能“有奖”啦?后天起,在重庆买双色球可以弥补只中3个红球,没奖金的遗憾!4月10日至4月30日,“买双色球·抽奔驰车”活动华丽开启,除抽取三辆奔驰车外,活动期间凡购买7+N、8+N、9+N、10+N、11+N复式彩票,对中得“3+0”的复式注数进行免单。 活动一 豪车奔驰 抽抽抽 https://h5.bbs.17500.cn/thread/9725932
9.[一蓝定中]体育彩票排列三2024310期中奖预测稳定直选大底:014,134近7期:7中1准确率:14% 六码组选 预测内容:0,1,3,4,5,7 近7期:7中1准确率:14% 定三跨度 预测内容:3,7,8 近7期:7中4准确率:57% 杀二和尾 预测内容:1,3 近7期:7中7准确率:100% 定四和值 预测内容:5,9,15,22 近7期:7中3准确率:43% https://m.78500.cn/p3yuce/11018720.html
10.福建体彩网理性购买体彩排列3彩票 享受小小娱乐 闽韵风华三十载 接续奋斗谱新章——《福建省体育彩票2023年社会责任报告》正式发布 奋进三十载携手共前行 中国体育彩票30年主题展 冠军进校园:以榜样力量传递体育精神——福建体彩在南靖、松溪展开“公益体彩 快乐操场”助学活动 http://www.fjtc.com.cn/
11.天壤之别,乌布雷全场正负值北京时间今日,在一场NBA常规赛中,76人队在主场99-125不敌快船队。 本场比赛,76人队前锋乌布雷出场30分47秒,11投6中得到12分5篮板3助攻2抢断2盖帽,三分球4中0,没有罚球,出现了3次失误,正负值是惊人的-40。 而与此同时,本场比赛快船队首发五虎科费、德里克-琼斯、祖巴茨、克里斯-邓恩和哈登的正负值全部为+http://m.ylddgs.com/BWV/detail/lAPuLwBEqeQq.html
12.在场+30三节打卡:多位费城记者不满放弃哈登美媒嘲讽引乔治选择快船125-99大胜费城,这场比赛也算是哈登的“回家之旅”,哈登一持球全场就响起了巨大的嘘声,但哈登在巨大的嘘声中第一个三分球就命中了,哈登来了一个客场消音器,随后他带队单节打崩费城,那么嘘声已经全然消失。 哈登仅仅出战27分钟,10中4,三分7中3,拿到23分8助攻2篮板1抢断,命中率40%,三分命中率42.9%,真实http://m.deng5920.com/CGT/detail/yOwGDYOMxEPa.html
13.→碾压局!德国70波黑:射门237,射正133,得分机会9双色球开奖公示广西,赢多多ios下载苹果安装图片之家,必赢娱乐大厅,利发88平台官网,太阳城客服大招娱乐帝国,免费送体验金试玩网赌的游戏,王楚钦挺帅,捷报比分足球即时比分,大登平台客户端金蟾捕鱼星力平台,1155非凡起点进不去,盛世国际客户端,线上澳博官网,mg送体验金狂欢彩票苹果版,hlw110.life,亲友棋牌qyqp8,携程http://xrefawu.cn/
14.大乐透复式7+3中4+0多少钱?大乐透问答大乐透复式7+3中4+0多少钱?发表于:2020-05-15 16:51:05浏览:33014次反馈 中奖金额是1080元 七等奖9注 100*9=900 九等奖36注 5*36=180 大乐透奖金计算器 https://zst.cjcp.com.cn/jjjsq/indexdlt.php类似问答 问题 体彩大乐透和双色球 2 回答丨2020-04-24 问题 大乐透有网上直播吗 https://www.cjcp.cn/wenda/4_960.html