由耿祥义和张跃平编著的Java面向对象程序设计课本习题部分参考答案
public class San_4 {// 编写一个应用程序求1!+2!+...+20! /** * @param args//本题考查对循环的运用和对算法的编写 */ public static void main(String[] args) { // TODO Auto-generated method stub int a; double b = 1, sum = 0;// 定义变量 for (a = 1; a <= 20; a++) {// for循环实现该功能 b = b * a;// 当a=1时,b=b*a=1,依此类推 sum = sum + b;// 当a=1时,sum=sum+b=1,依次类推 } for (int w = 1; w <= 19; w++) {// for循环打印出阶乘之和的形式来 System.out.print(w + "!" + "+"); } System.out.println("20!" + "=" + sum);// 最终输出阶乘之和 double sum1 = 0, a1 = 1; int i = 1; while (i <= 20)// 用while循环实现该功能 { sum1 = sum1 + a1; i++; a1 = a1 * i; } System.out.println("sum1=" + sum1); } }
输出结果:
1!+2!+3!+4!+5!+6!+7!+8!+9!+10!+11!+12!+13!+14!+15!+16!+17!+18!+19!+20!=2.5613274941118203E18 sum1=2.5613274941118203E18
习题3_5
public class San_5 {// 求100以内的素数 /** * @param args//本题考查对for循环、break语句、if语句的运用 */ public static void main(String[] args) { // TODO Auto-generated method stub int i, j; for (i = 2; i <= 100; i++) {// for循环从2开始,逐渐增1 for (j = 2; j <= i / 2; j++) {// for循环从2开始,逐步增1 if (i % j == 0) {// 如果i除以j的余数为0,则终止本次for循环 break; } } if (j > i / 2) {// 如果j>i/2,输出i System.out.print(" " + i); } } } }