JAVA自诞生至今已经有20多年了,在编程界可谓是常青树般地存在,也是目前非常流行的计算机编程语言之一。它的应用领域非常广,比如我们熟知的手机APP,尽管它们运用了不同的JVM以及不同的封装方式,但主要代码还是用JAVA语言编写。当然还有许多其他领域。
在我们接触JAVA初期,会有几块特殊的敲门砖:JAVA关键字、系统自带的直接和Console平台对话的main()方法、循环语句、条件语句……
关于这些JAVA基础在此就不一一累述了。
我们在JAVA学习初期时,会习惯性地将代码统一编写在main()方法中。久而久之我们会发现许多问题:在不同的程序体系中我们经常需要重新编写相同的代码,以至造成了时间的不够支配;如果main()方法中处理的数据比较多,那很容易造成代码的冗余现象,而在编程领域,代码冗余是最为忌讳的。那我们就得考虑能否像main()方法一样自定方法,而在main()方法中我们除了调用相应的方法,仅仅输入相关的输出信息?答案是可以的。
(一)、质数、合数
在此,我们先设计一个自定方法,这个方法用以判断某个数是否为质数,之所以优先选择它,是因为这里面牵涉到了最为基础的条件语句、循环体,并且这个方法的使用范围比较广。在此先申明一下,为了以后能够将其应用到超过int型取值范围以及除法运算的领域中,在此我利用BigDecimal。
/**
* 质数的判断
*
* @param number
* @return
*/
private static boolean primeNumber(BigDecimal number) {
// TODO Auto-generated method stub
for (BigDecimal a = BigDecimal.valueOf(2); a.compareTo(number) < 0; a = a.add(BigDecimal.ONE)) {
if (number.remainder(a).equals(BigDecimal.ZERO))
return false;
}
return true;
}
这个方法是根据质数的含义来设定的。这个方法确定了下来,在以后其他的方法体内只要涉及到质数或者合数,我们都可以利用判断语句调用这个方法。
如果项目要求为质数,我们只需这么写:
if (primeNumber(number)) { }
同样,如果项目要求为合数,我们只需这么写:
if (!primeNumber(number)) { }
而不需要每段代码中都重复编写上述判断体中的整段代码。
我们在main()方法中输出这么一段代码,分别输出100以内的质数、合数:
BigDecimal count = BigDecimal.ZERO;
for (BigDecimal number = BigDecimal.valueOf(2); number.compareTo(BigDecimal.valueOf(100)) <= 0; number = n