一、实验目的
熟悉JDK开发环境
熟练掌握结构化程序设计方法
二、实验内容
1、 打印输出所有的“水仙花数”,所谓“水仙花数”是指一个3位数,其中各位数字立方和等于该数本身。例如,153是一个“水仙花数”。
2、编写Java程序,求13-23+33-43+…+973-983+993-1003的值。
3、编程求1!+2!+3!+…+20!。
4、编写Java程序,计算8+88+888+…前10项之和。
5、一个数如果恰好等于它的因子之和,这个数就称为完数。编写程序输出1000以内的所有完数。
6、编写应用程序,输出满足1+2+3+…+n<8888的最大正整数。
7、使用for循环打印下面的图(等腰三角形)
三、实验进程
1、 打印输出所有的“水仙花数”,所谓“水仙花数”是指一个3位数,其中各位数字立方和等于该数本身。例如,153是一个“水仙花数”。
实验源代码
public class 水仙花数{ public static void main(String[] args){ int a,b,c,i; for(i=100;i<=999;i++){ a=i/100; b=(i%100)/10; c=i%100%10; if(i==a*a*a+b*b*b+c*c*c){ System.out.println(i); } } } }
实验截图
2、编写Java程序,求13-23+33-43+…+973-983+993-1003的值。
实验源代码
public class 奇数和{ public static void main(String[] args){ int i,k=1,sum=0; for(i=3;i<=993;i++){ i=i+9; sum=sum+i*k; k=-1*k; } System.out.print("sum="+sum); } }
实验截图
3、编程求1!+2!+3!+…+20!。
实验源代码
public class 阶乘 { public static void main(String[] args) { int i; long j=1,sum=0; for(i=1;i<=20;i++){ j*=i; sum=sum+j; } System.out.print(sum); } }
实验截图
4、编写Java程序,计算8+88+888+…前10项之和。
实验源代码
public class 和 { public static void main(String[] args) { long j=8,sum=0; int i; for(i=1;i<=10;i++){ sum=sum+j; j=j*10+8; } System.out.println("sum="+sum); } }
实验截图
5、一个数如果恰好等于它的因子之和,这个数就称为完数。编写程序输出1000以内的所有完数。
实验源代码
public class 完数 { public static void main(String[] args){ for(int i=1;i<=1000;i++){ int sum=0; for(int j=1;j<i;j++){ if(i%j==0){ sum+=j; } } if(i == sum){ System.out.println(i); } } } }
实验截图
6、编写应用程序,输出满足1+2+3+…+n<8888的最大正整数。
实验源代码
public class 最大正整数 { public static void main(String[] args){ int i=1,s=0; while(s<8888){ i++; s+=i; } System.out.print(i-1); } }
实验截图
7、使用for循环打印下面的图(等腰三角形)
实验源代码
public class 输出图形{ public static void main(String[] args) { for (int i=1;i<=5;i++){ for (int x=1;x<=5-i;x++){ System.out.print(" "); } for (int y=1;y<=i;y++){ System.out.print("*"); for (int z=1;z<=i-1;z++){ } System.out.print(" "); } System.out.println(); } } }
实验截图
学习总结
这次的实验题目相对而言还比较好做,能够有思路去往什么方向编写程序,除了后面两题有点小问题,其他还好,对java也加深了一定的熟悉操作。
本周老师讲了关键词的一些用法,比如this关键词,static关键词等,还有java的一些构造方法,数据的封存等。这些都需要好好消化,感觉蛮重要的。