易截截图软件、单文件、免安装、纯绿色、仅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多线程编程要点(二)

4、  Timer和TimerTask的使用
       Timer是一种定时器工具,用来在一个后台线程计划执行指定任务,这些任务可以被执行一次,也可以被定期执行。每个 Timer 对象对应一个后台线程,顺序地执行所有计时器任务。如果完成某个计时器任务的时间太长,那么它会“独占”计时器的� ......

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


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

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

Java文本语音转换组件JTTS发布(eSpeak封装)

下载地址:http://greenvm.googlecode.com/files/JTTSEngine.7z
(含示例与源码,目前仅提供dll封装)
众所周知,所谓TTS即Text To Speech的英文缩写,也就是“从文本转换到语音”。
TTS技术的主要作用在于利用计算机合成人语,并将文字信息转化为语音信息进行播放。简单点说,TTS技术赋予了计算机“开口 ......

Java中数值类型转换(byte和int)

在Java 中数据类型的自动转换老是出现一些问题
    byte b1 =1 , b2 = 12;  //能够通过
    byte b3 = 128             //编译的时候不能通过
我们知道Java中数据类型byte shout char 在进行计算的时候都是� ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号