- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于工作过程的Java程序设计第2章 查找素数;5.技术分析;6.问题与思考;2.1.2 从三个数中找出最大数;1.详细设计
程序用if . . . else语句实现分支。
2.编码实现三个变量轮流比较
语句:
if (ab)
if (ac)
System.out.println(a);
else
System.out.println(c);
else
if (bc)
System.out.println(b);
else
System.out.println(c);
分析:先让a和b比较,根据结果分为两个分支,如果a大于b,再让a与c比较找出起较大数。用同样的方法处理a小于b的分支,可以实现找到三个数中输出其最大数的算法。这里用到了if的嵌套。
3.源代码
略。
;4.测试与运行;5.技术分析;6. 问题与思考;2.1.3 判断某年某月的天数;1.详细设计
程序会用switch . . . case语句实现多路分支。
2.编码实现
switch语句的结构非常清晰。每一个case分支执行完后程序会继续下一个case分支。所以当month值为1、3、5、7、8、10、12时,numDays就赋值为30。month如果为4、6、9、11时,numDays就赋值为31。当month为2时的情况要复杂一些,这时还要判断当年是否闰年来决定2月的天数。
每一个case分支执行完后,如果希望退出switch语句,要用break退出,否则程序会继续执行下一个case分支。
3.源代码
略。
;4.测试与运行;5.技术分析;6.问题与思考;2.2 循环语句;1.详细设计
本程序在一个while循环中查找[2,n-1]是否有n的因子。
2.编码实现
1) 在[2,n-1]中找n的因子
语句:
while ((n%j)!=0 (jn))
j++;
分析:(n%j)!=0表示j不是n的因子,jn表示还未找完。退出循环需满足下面条件之一,一是找到了因子,表明n不是素数;二是还找完了都为发现因子,表明n是素数。
2) 输出结果
语句:
if (j == n ) //没找到可以被i整除的数
System.out.print(n+ 是素数 );
else
System.out.print(n+ 不是素数 );
分析:j不断递增,第二种方式退出后,j = n。可以用此判断n是否素数。
3.源代码
略。;4.测试与运行;5.技术分析;6. 问题与思考;2.2.2 查找区间内的素数;1.详细设计
本程序用for循环判断[1,100]区间内的所有素数。
2. 编码实现
语句:
for (i=2; i=100;i++){
j = 2;
//找能被i整除的数
while ((i%j)!=0 (i j))
j++;
if (j == i ) //没找到可以被i整除的数
System.out.print( +i);
}
分析:上面的程序段只能判断具体的整数i是否素数,要找出[2,100]区间内的所有素数,只需在该程序段外套一个for循环,使i的值在2~100之间递增。
3.源代码 略。
;4.测试与运行;5.技术分析;6. 问题与思考
原创力文档


文档评论(0)