黑马程序员技术交流社区
标题:
封装的方法最好功能单一
[打印本页]
作者:
月影千华
时间:
2015-9-27 11:47
标题:
封装的方法最好功能单一
public class PrimeTest {
public static void main(String[] args) {
int[] arr = new int[99];
int count = 0;
// 打印出1-100内所有素数
for (int i = 0; i < arr.length; i++) {
arr[i] = i + 1;
if (isPrime(arr[i])) {
System.out.print(arr[i] + "\t");
if (++count % 5 == 0)
System.out.println();
}
}
// 求1-100内所有素数之和
System.out.println("sum:"+getSum(arr));
}
// 此方法判断一个数是不是素数,返回值为boolean
public static boolean isPrime(int x) {
int i;
for (i = 2; i < x - 1; i++) {
if (x % i == 0) {
break;
}
}
if (i > x / 2 && x != 1) {
return true;
}
return false;
}
// 此方法用于找出数组内的素数并求和,返回值为int
public static int getSum(int[] arr) {
int sum = 0;
for (int i = 0; i < arr.length; i++) {
if (isPrime(arr[i])) {
sum += arr[i];
}
}
return sum;
}
}
复制代码
昨天朋友让我做一道题,求一个数组内所有素数之和,我就写了一个程序,最开始的时候,我是只写了一个方法,在方法内判断出数组里的素数,然后直接求和。后来想了想,觉得这样不好,因为这样功能不太单一,如果我哪天再有一个需求,想要打印出数组内的所有素数呢,那我不是又得重新写方法。所以后来改成了上面的代码,判断素数和求和分开来做,这样的话,就可以在更多的场合使用了。
作者:
shike951128
时间:
2015-9-27 11:56
最开始学编程,有过求素数的测试。
作者:
yuzhouyichen
时间:
2015-9-27 12:03
原来素数是这么求的啊
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2