快速业务通道

Java编程那些事儿41—流程控制综合示例3 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-24
;row <= 5;row++){   //循环行  //循环总的字符数  for(int col = 0; col < 4 + row;col++){   if(col < 5 - row){ //打印空格     System.out.print('' '');   }else{ //打印星号     System.out.print(''*'');   }  }  //换行  System.out.println(); }

该代码的总体思路和第一种思路一样,都是按行打印,只是在考虑问题时首先考虑字符总的数量,把这个数量作为循环次数,内部控制那些该输出字符那些该输出星号即可。

Java编程那些事儿41—流程控制综合示例3(3)

时间:2010-03-07 csdn 陈跃峰

5.6.1.7 质数判断

问题:判断一个自然数是否是质数。

质数指只能被1和自身整除自然数,也称素数,最小的质数是2。对于自然数来说,任何一个数字都可以被1和自身整除。

实现思路:利用数学上的反证法进行判断。则问题转换为只需要判断不能被1和自身以外的任何一个数字整除即可。则假设判断的数字是n的话,则这些数字的区间是[2,n-1]和大于n的所有数字。在数学上n不可能被大于n的数字整除,所以程序只需要判断[2,n-1]之间的数字即可,如果被该区间的任何一个数字整除了,则说明不是质数。

则实现的代码如下:

int n = 23; boolean b = true; //存储是否是质数,假设是质数 for(int i = 2;i < n;i++){  //如果整除,则不是质数  if(n % i == 0){    b = false;    break; //后续比较没有意义,结束循环  } } //输出是否是质数 if(b){   System.out.println("是质数"); }else{   System.out.println("不是质数"); }

该代码是最容易思考出来的一种实现,其实在数学上只需要判断n是否可以被2到n的二次方根之间的数字即可。则实现的代码变为如下:

int n = 23; boolean b = true; //存储是否是质数,假设是质数 for(int i = 2;i <= Math.sqrt(n);i++){  //如果整除,则不是质数  if(n % i == 0){    b = false;    break;   //后续比较没有意义,结束循环  } } //输出是否是质数 if(b){    System.out.println("是质数"); }else{    System.out.println("不是质数"); }

通过缩小判断数字的区间,可以显著提高程序的执行效率。说明:这里的Math.sqrt的功能是计算n的二次方根。

关于流程控制的综合示例部分就介绍这么多,下面将整理一下流程控制的综合练习。

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号