2025年简单好玩的编程代码教程(简单实用的编程代码)

简单好玩的编程代码教程(简单实用的编程代码)p 通过这些专项练习题 strong span style background color edf6e8 积攒大家的代码量 以便提升大家的编程能力和编程思维 span strong 这里所说的 p

大家好,我是讯享网,很高兴认识大家。



 <p>通过这些专项练习题&#xff0c;<strong><span style="background-color:#edf6e8;">积攒大家的代码量&#xff0c;以便提升大家的编程能力和编程思维</span></strong>。这里所说的<span style="background-color:#fef2f0;">编程思维就是使用Java技术解决问题的思维方式</span>&#xff1b;<span style="background-color:#efedf6;">编程能力就是按照编程思维编写代码的能力</span>。</p> 

讯享网

想要提升编程思维和编程能力,一些学习上的建议:

  • 编程思维、编程能力不是一朝一夕形成的,需要大量思考,练习和时间的沉淀。
  • 具体措施:前期,建议先模仿;后期,自然就能创新了; 勤于练习代码,勤于思考,孰能生巧。

中国的航空母舰、战斗机,这些技术都是先模仿,再创新的,而且的模仿的周期是非常长的。所以同学们在使用Java技术解决问题时,也是先模仿一些特定问题的解决思路,以后遇到同类型的问题,就采用同一种思维模式来做就行。


讯享网

这个方法如何编写呢?采用下面的方式来思考

讯享网1.首先,考虑方法是否需要接收数据处理 
阅读需求我们会发现&#xff0c;不同月份、不同原价、不同舱位类型优惠方案都不一样&#xff1b; 所以&#xff0c;可以将<span style="background-color:#edf6e8;">原价、月份、舱位类型写成参数</span> 
2.接着,考虑方法是否有返回值
讯享网阅读需求我们发现&#xff0c;最终结果是求当前用户的优惠票价 所以&#xff0c;可以将<strong>优惠票价作为方法的返回值</strong>。 
3.最后,再考虑方法内部的业务逻辑
先使用<span style="background-color:#f9eda6;">if判断月份是旺季还是淡季&#xff0c;然后使用switch分支判断是头等舱还是经济舱</span>&#xff0c;计算票价 
讯享网

需求是要我们开发一个程序,生成指定位数的验证码。考虑到实际工作中生成验证码的功能很多地方都会用到,为了提高代码的复用性,我们还是把生成验证码的功能写成方法比较好。

那生成验证码的方法该怎么写呢?按照下面的三个步骤进行思考

1.首先,考虑方法是否需要接收数据处理 
讯享网要求生成指定位数的验证码&#xff0c;到底多少位呢&#xff1f;让调用者传递即可 所以&#xff0c;<span style="background-color:#dad5e9;">需要一个参数&#xff0c;用来表示验证码的位数</span> 
​ 2.接着,考虑方法是否需要有返回值?
该方法的结果&#xff0c;就是为了得到验证码 所以&#xff0c;<strong><span style="background-color:#ff9900;">返回值就是验证码</span></strong>&#xff1b; 
​ 3.最后,再考虑方法内部的业务逻辑
讯享网1)先按照方法接收的<strong>验证码位数n,循环n次</strong> 2)<span style="background-color:#f9eda6;">每次循环&#xff0c;产生一个字符&#xff0c;可以是数字字符、或者大小写字母字符</span> 3)定义一个<strong>String类型的变量用于记住产生的每位随机字符</strong> 
 

讯享网1.首先,考虑方法是否需要接收数据来处理? 
需求中说&#xff0c;有多个评委的打分&#xff0c;但是到底多少个评委呢&#xff1f; 可以由调用者传递 所以&#xff0c;我们可以把<strong>评委的个数写成参数</strong>&#xff1b; 
​ 2.接着,考虑方法是否需要有返回值?
讯享网需求中&#xff0c;想要的最终结果是平均分 所以&#xff0c;<span style="background-color:#ffd7b9;">返回值就是平均分</span>&#xff1b; 
​ 3.最后,再考虑方法内部的业务逻辑
1)假设评委的个位为n个&#xff0c;那么就需要n个评委的分数&#xff0c;首先可以新建一个长度为n的数组&#xff0c;用来存储每一个评委的分数 2)循环n次&#xff0c;使用Scanner键盘录入n个1~100范围内的整数&#xff0c;并把整数存储到数组中 3)求数组中元素的总和、最大值、最小值 4)最后再计算平均值&#xff1b; 平均值 &#61; (和-最大值-最小值)/(数组.length-2); 
讯享网

简答来说该需求要做的事情,就是把一个4位数的整数,经过一系列的加密运算(至于怎么运算,待会再详细分析),得到一个新的整数。

1.首先,考虑方法是否需要接收数据处理? 
讯享网需要一个4位数&#xff0c;至于是哪一个数&#xff0c;让方法的调用者传递。 所以&#xff0c;方法的参数&#xff0c;就是这个<strong>需要加密的四位数</strong> 
​ 2.接着,考虑方法是否需要有返回值?
方法最终的结果是一个加密后的数据 所以&#xff0c;<span style="background-color:#ffd7b9;">返回值就表示为加密后的数据</span>。 
​ 3.最后,再考虑方法内部的业务逻辑,这里的业务逻辑就是那一系列的加密运算
讯享网1)先要把4位数整数拆分为&#xff0c;4个数字&#xff0c;用一个数组保存起来 2)再将数组中的每一个元素加5&#xff0c;再对10取余 3)最后将数组中的元素反转 
 

想要实现的效果就是:给定一个数组,然后经过我们编写的程序,得到一个和原数组一模一样的数组。

讯享网1.首先,考虑方法是否需要接收数据处理? 
该方法的目的是拷贝数组&#xff0c;拷贝哪一个数组呢&#xff1f; 需要调用者传递 所以&#xff0c;<span style="background-color:#c7e6ea;">参数应该是一个数组</span> 
​ 2.接着,考虑方法是否需要有返回值?
讯享网该方法最终想要得到一个新数组 所以&#xff0c;<span style="background-color:#ed7976;">返回值是拷贝得到的新数组</span> 
​ 3.最后,考虑方法内部的业务逻辑?
1)<strong>创建一个新的数组&#xff0c;新数组的长度和元素数组一样</strong> 2)遍历原数组&#xff0c;将原数组中的元素赋值给新数组 3)最终将新数组返回</pre> 
讯享网
1.首先,考虑方法是否需要接收数据处理? 
讯享网需要接收5个红包&#xff0c;<u>至于是哪5个红包&#xff0c;可以有调用者传递&#xff1b;把5个红包的数值&#xff0c;用数组来存储</u>。 所以&#xff0c;<strong>参数就是一个数组</strong> 
2.接着,考虑方法是否需要有返回值?
按照需求的效果&#xff0c;<span style="background-color:#ffd7b9;">抢完红包就直接打印了&#xff0c;不需要返回值</span> 
​ 3.最后,考虑方法内部的业务逻辑是怎么的?
讯享网思考&#xff1a;红包实际上是数组中的元素&#xff0c;抢红包实际上随机获取数组中的元素&#xff1b;而且一个红包只能抢一次&#xff0c;怎么做呢&#xff1f;我们可以把数组中获取到元素的位置&#xff0c;置为0,下次再或者这个位置的元素一判断为0&#xff0c;再重新获取新的元素&#xff0c;依次内推&#xff0c;直到把数组中所有的元素都获取完。 我们我们把抽红包的思路再整理一下&#xff1a; 1)首先&#xff0c;写一个循环&#xff0c;循环次数为数组的长度 2)每次循环&#xff0c;键盘录入&#xff0c;提示&#34;用户录入任意键抽奖&#xff1a;&#34; 
  3)随机从数组中产生一个索引,获取索引位置的元素,这个元素就表示抽的红包
 <span style="background-color:#d4e9d5;">如果值不为0&#xff0c;则打印如&#xff1a;&#34;恭喜您&#xff0c;您抽中了520元&#34;,把这个位置元素置为0</span> 
  如果值为0,则说明这个红包被抽过,重新循环到第2步,重新抽奖   【注意:如果当前这一次没有抽中,这一次抽奖机会被浪费掉了,我们可以把控 制循环的次数自减一下】
讯享网
首先我们得统一认识一下什么是素数:只能被1和本身整除的数是素数,比如:3、7是素数,9,21不是素数(因为9可以被3整除,21可以被3和7整除) 再思考题目需求该怎么做?打印输出101~200之间的素数,并求有多少个?,我们也是把这个需求写成一个方法,还是按照三个步骤分析方法如何编写。
1.首先,考虑方法是否需要接收数据处理? 
讯享网该方法是求一个范围内的素数&#xff0c;一个范围需要两个数据来确定&#xff0c;比如&#xff1a;101~200 所以&#xff0c;<span style="background-color:#fef2f0;">方法需要两个参数来接收范围的开始值start&#xff0c;和范围的结束值end</span> 
2.接着,考虑方法是否需要返回值?
该方法需要求一个范围内的素数的个数 所以&#xff0c;<strong><span style="background-color:#fe2c24;">返回值就是素数的个数</span></strong> 
​ 3.最后,考虑方法内部的业务逻辑
讯享网思考&#xff1a;怎么判断一个数是素数呢&#xff1f;要仅仅抓住&#xff0c;素数的要求:“只能被1和本身整除的数是素数”。我们可以从反向思考&#xff0c;如果这个数只要能被除了1和本身以外的数整除&#xff0c;那么这个数就不是素数。 //比如1&#xff1a;判断9是否为素数 
 
讯享网​ 
把上面的代码循环执行&#xff0c;每次循环然后把num换成start~end之间的整数即可。 
讯享网
1.第一个方法,让用户手动投注,产生一注双色球彩票 2.第二个方法,由系统随机产生一注双色球彩票开奖号码 3.第三个方法,判断传入两组号码,用于判断彩票的中奖情况

8.1 手动投注

编写一个方法,让用户手动投注,产生一注双色球彩票,思路分析
1.首先,考虑方法是否需要接收数据处理? 
讯享网双色球彩票的规则非常明确&#xff0c;没有什么数据需要传递给方法。 所以&#xff0c;不需要参数 
​ 2.接着,考虑方法是否需要返回值?
方法最终的结果是需要一注双色球彩票的号码&#xff0c;一注彩票有7个号码&#xff0c;可以用一个数组来存 所以&#xff0c;<span style="background-color:#f9eda6;">返回值是一个数组</span> 
​ 3.最后,考虑方法内部的业务逻辑怎么编写?
讯享网1)首先需要准备一个<strong>int类型数组&#xff0c;长度为7</strong>; 用于存储产生的投注号码 2)<span style="background-color:#dad5e9;">循环遍历数组的前6个元素&#xff0c;采用键盘录入的方式&#xff0c;给前区6个红球赋值</span> <u>要求录入的整数在1~33范围内&#xff0c;同时录入的整数在数组中不能已存在&#xff0c;否则重新录入</u> 3)<span style="background-color:#ffd7b9;">最后再录入一个整数&#xff0c;给后区一个蓝球赋值</span> 要求整数必须在1~16范围内</pre> 
  • 手动投注代码如下
 每键盘录入一个号码,需要判断这个号码在数组中是否存在,存在返回true;不存在返回false 
讯享网
为了打印一注彩票的号码(数组中的元素),把打印数组中的元素也写成方法。
 

8.2 随机开奖号码

编写一个方法,让用户自动机选投注,产生一注双色球彩票,思路分析
讯享网1.首先,考虑方法是否需要接收数据处理? 
双色球彩票的规则非常明确&#xff0c;没有什么数据需要传递给方法。 所以&#xff0c;不需要参数 
2.接着,考虑方法是否需要返回值?
讯享网<u>方法最终的结果是需要一注双色球彩票的号码&#xff0c;一注彩票有7个号码&#xff0c;可以用一个数组来存</u> 所以&#xff0c;<span style="background-color:#fbd4d0;">返回值是一个数组</span> 
3.最后,考虑方法内部的业务逻辑怎么编写?
1)首先需要准备一个int类型数组&#xff0c;长度为7; 用于存储产生的投注号码 2)<span style="background-color:#ffd7b9;">循环遍历数组的前6个元素&#xff0c;采用生成随机数的的方式&#xff0c;给前区6个红球赋值</span> <u>要求生成的随机数在1~33范围内&#xff0c;同时随机的整数数组中不能已存在&#xff0c;否则重新生产</u> 3)<strong>最后再随机一个整数&#xff0c;给后区一个蓝球赋值</strong> 要求随机整数必须在1~16范围内</pre> 
机选号码,代码如下
讯享网
在main方法中测试,看是否能够产生一注彩票
 

8.3 判断是否中奖

编写一个方法,判断用户的彩票号码是否中奖,具体中奖规则如下
  • 6个红球+1个蓝球 ,奖金1000万
  • 6个红球+0个蓝球,奖金500万
  • 5个红球+1个蓝球,奖金3000块
  • 5个红球+0个蓝球,或者4个红球+1个蓝球,奖金200块
  • 4个红球+0个蓝球,或者3个红球+1个蓝球,奖金10块
  • 小于3个红球+1个蓝球,奖金5块
  • 如果前面的都不成立,就中奖,算你为福利事业做贡献了。
讯享网1.首先,考虑方法是否需要接收数据处理? 
判断彩票是否中奖&#xff0c;需要有两组号码&#xff1b;一组号码是彩票号码&#xff0c;一组号码是开奖号码 所以&#xff0c;<span style="background-color:#f9eda6;">参数需要有两个数组</span> 
2.接着,考虑方法是否需要返回值?
讯享网方法不需要返回结果&#xff0c;中了奖&#xff0c;直接将奖项打印输出就行了。 【注意&#xff1a;这只是提供一种代码的编写方案&#xff0c;你将中奖的金额返回也行】 
3.最后,考虑方法内部的业务逻辑怎么编写?
1)定义两个变量redCount和blueCount用来记录&#xff0c;红球的个数和蓝球的个数 2)<span style="background-color:#dad5e9;">遍历两个数组中前6个元素(红球)&#xff0c;判断两个数组中有没有相同元素 
如果找到一个相同元素,则redCount++
讯享网3)<span style="background-color:#fbd4d0;">比较两个数组中最后一个元素(蓝球)是否相同 
如果相同,则blueCount++
4)根据红球和蓝球的命中个数&#xff0c;打印输出对应的奖项 
讯享网
在main方法中测试,检测是否中奖的方法是否正确
 
小讯
上一篇 2025-05-05 18:28
下一篇 2025-04-14 17:04

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/181343.html