易截截图软件、单文件、免安装、纯绿色、仅160KB

从一个简单Java程序来谈谈重构

       这个主题是关于编码的一些原则和模式的,用这些可以帮助程序员创建更加灵活和具有适应性的软件模块。
       笔者下面引用的程序是Robert大叔著名的程序片断来重新认识一下重构,那些java代码看起来正确,但事实上不是看起来那么简单的,一小段程序调试起来总会有些小错误。我一度怀疑是作者或译者故意去写错一些代码,然后引起阅读者的注意的。从程序的调试编写以及重构过程中,备注了作为一名一线程序员的一些总结。
     “重构”,顾名思义,对程序来说就是“在不改变代码外在行为的前提下对代码做出修改,以改进代码内部结构的过程”。
       下面是一个素数产生程序,首先要知道什么是素数吧?记得上学时书上说素数就是质数,是除了能被1和本身整除外,没有其他因子能整除。又google了下,其定义如下:
        1.只有1和它本身这两个因数的自然数叫做素数。还可以说成素数只有1和它本身两个约数。
        2.素数是这样的整数,它除了能表示为它自己和1的乘积以外,不能表示为任何其它两个整数的乘积。
        例如,15=3×5,所以15不是素数.
       从编程角度我们要考虑其算法,算法是什么?算法采用Sieve of Eratosthenes筛选法,这个算法的详细情况是这样的:
       由于一个合数(相对于素数的定义,即0和1之外,除了素数就是合数)总是可以分解成若干个素数的乘积,那么如果把素数(最初只知道2为素数)的倍数都去掉,那么剩下的就是素数了。
       例如要查找100以内的素数,首先2是质数,把2的倍数去掉;此时3没有被去掉,可认为是素数,所以把3的倍数去掉;再到5,再到7,之后呢因为8,9,10刚都被去掉了,而100以内的任意合数肯定都有一个因子小于10(100的开方)。因此去掉2,3,5,7的倍数后剩下的都是素数了。
       下面程序的主要逻辑片断是:
        //最主要逻辑在于此,Math.sqrt(s)取得该数位于中间的因子.
//比如maxValue=10,那么Math.sqrt(s)=3
for(i=2;


相关文档:

java中的final关键字所起的作用

final的作用随着所修饰的类型而不同
       1、final修饰类中的属性或者变量
              无论属性是基本类型还是引用类型,final所起的作用都是变量里面存放的“值”不能变。
    &n ......

基于 Java 的界面布局 DSL 的设计与实现


http://www.ibm.com/developerworks/cn/java/j-lo-uidsl/index.html
基于 Java 的界面布局 DSL 的设计与实现
 
 
 
级别: 中级
孙 鸣
邓 辉

2007 年 9 月 11 日
界面设计应该是一项充满创造性、富有乐趣的工作,但是却往往被认为非常的枯燥和繁琐。究其原因,是因为界面布局领域所采用的描 ......

Java同步机制收集总结 synchronized

虽然很少用到同步,出于个人兴趣自学了一下。现对JAVA中的同步收集学习的东西总结一下,让自己技术的条理化,能够沉淀下来。
 同步就是串行使用一些资源.
JAVA中synchronized关键字能够作为函数的修饰符,也可作为函数内的语句,也就是平时说的同步方法和同步语句块。假如再细的分类,synchronized可作用于instance ......

java得到当前时间

java得到当前时间
Java基础 2009-06-02 21:34:18 阅读1289 评论0 字号:大中小
        //String nowTime=new SimpleDateFormat("yyyyMMddHHmm").format(new java.util.Date());
        //System.out.println(nowTime);
import java.text.Sim ......

java 宝典

场景:现在有个磁盘输出的业务,客户端需要通过2个业务对象进行输出。
一个是通过Floppy(软盘),另一个是通过USB接口。
这样就需要2个业务类,但是如果不让客户端知道而实现简单的注入呢?
首先,由于有2种设备,软盘和USB,因此我们需要建立一个设备接口IDeviceWriter。
代码如下: ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号