2023年黑马Java入门到精通教程--编程思维训练

编程案例分享

编程思维

使用所学的Java技术解决问题的思维方式和编写代码实现出来的能力。

关于提升编程思维和编程能力的建议

编程思维和编程能力不是一朝一夕形成的,需要时间的沉淀和大量练习。

前期:先模仿,后期:再创新

具体措施:勤于练习代码,勤于思考,孰能生巧。

案例一:买飞机票

需求:

机票价格按照淡季旺季、头等舱和经济舱收费、输入机票原价、月份和头等舱或经济舱。

机票最终优惠价格的计算方案如下:旺季(5-10月)头等舱9折,经济舱8.5折,淡季(11月到来年4月)头等舱7折,经济舱6.5折。

分析:

键盘录入机票的原价,仓位类型,月份信息,调用方法返回机票最终的优惠价格。

方法内部应该先使用if分支判断月份是是旺季还是淡季,然后使用switch分支判断是头等舱还是经济舱。

选择对应的折扣进行计算并返回计算的结果,如果信息录入有误返回价位为-1元代表即可。

总结:

1.遇到判断值匹配的时选择什么结构实现?

使用switch分支结构实现。

2.遇到判断区间范围的时候选择什么结构实现?

使用if分支结构实现。

案例二:找素数

说明

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

分析

101-200之间的数据可以采用循环依次拿到; 每拿到一个数,判断该数是否是素数。

判断规则是:从2开始遍历到该数的一半的数据,看是否有数据可以整除它,有则不是素数,没有则是素数。

如果最终判定是素数,即可输出展示。

总结:

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

定义了flag标记位

遍历2到该数的一半的数据去判断是否有整除的数据,有则改变falg标记位的状态。

最终通过flag的状态判断是否是素数。

案例三:开发验证码

总结:

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

定义一个String类型的变量存储验证码字符。

定义一个for循环,循环5次。

随机生成0|1|2的数据,依次代表当前位置要生成数字|大写字母|小写字母。

012交给switch生成对应类型的随机字符,把字符交给String变量。

循环结束后,返回String类型的变量即是所求的验证码结果。

案例四:数组元素的复制

需求:

把一个数组中的元素复制到另一个新数组中去。

分析:

需要动态初始化一个数组,长度与原数组一样。

遍历原数组的每个元素,依次赋值给新数组。

输出两个数组的内容。

总结:

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

需要创建新数组,把原来数组的元素赋值过来。

案例五:评委打分

总结:

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

定义一个动态初始化的数组用于存储分数数据。

定义三个变量用于保存最大值、最小值和总和。

遍历数组中的每个元素,依次进行统计。

遍历结束后按照规则计算出结果即可。

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

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

 双色球系统-用户输入一组双色球号码

模拟双色球系统-判断中奖情况

 总结:

1.本次案例中是如何去统计红球的命中数量的?

遍历用户的每个选号,然后遍历中奖号码的数组。

看当前选号是否在中奖号码中存在,存在则命中数量加1

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值