第三周课程总结&实验报告一
1.打印输出所有的“水仙花数”,所谓“水仙花数”是指一个3位数,其中各位数字立方和等于该数本身。例如,153是一个“水仙花数”。
实验代码:
package main; public class Main { public static void main(String[] args) { int a,b,c; int i=100; while(i<1000){ a=i/100; b=(i/10)%10; c=i%10; if(Math.pow(a,3)+Math.pow(b,3)+Math.pow(c,3)==i) System.out.println(i); i++; } } }
实验结果:
2. 编写Java程序,求13-23+33-43+…+973-983+993-1003的值。
实验代码:
package main; public class Main { public static void main(String[] args) { int sum=0,flag=1; for(int i=13;i<=1003;i += 10) { sum +=i*flag; flag=-flag; } System.out.println(sum); } }
实验结果:
3. 编程求1!+2!+3!+…+20!。
实验代码:
package main; public class Main { public static void main(String[] args) { long sum=0; long m = 1; for(int i=1;i<=20;i++) { m=m*i; sum+=m; } System.out.println(sum); } }
实验结果:
4. 编写Java程序,计算8+88+888+…前10项之和。
实验代码:
package main; public class Main { public static void main(String[] args) { long n=0,sum=0; for(int i=0;i<10;i++) { n=n*10+8; sum +=n; } System.out.println(sum); } }
实验结果:
5. 一个数如果恰好等于它的因子之和,这个数就称为完数。编写程序输出1000以内的所有完数。
实验代码:
package main; public class Main { public static void main(String[] args) { int m,i,sum; for(m=1;m<=1000;m++){ sum=0; for(i=1;i<m;i++) { if(m%i==0) sum+=i; } if(sum==m) System.out.println(sum); } } }
实验结果:
6. 编写应用程序,输出满足1+2+3+…+n<8888的最大正整数。
package main; public class Main { public static void main(String[] args) { int i=0,sum=0; while(sum<8888){ i++; sum+=i; } System.out.println(i); } }
实验结果:
7. 使用for循环打印下面的图(等腰三角形)
实验代码:
package main; public class Main { public static void main(String[] args) { int i,j; for(i=0; i<6;i++) { for (j=0;j<5-i; j++) { System.out.print(" "); } for (j=0; j<i;j++) { System.out.print("* "); } System.out.println(); } } }
实验结果:
第三周学习总结
这周主要学习了static关键字,声明属性和方法。还有this的四个作用,分别是1.强调调用本类方法,2.表示类的成员属性(变量),3.调用构造方法,4.表示当前对象。但是我还是觉得有点抽象,不知道如何使用,要多去写代码才能理解清楚。这周实验报告的题目难度不大,都是用c语言写过的题目,用以前的知识就能写出来,比较为难的是刚开始使用JAVA编译软件不知道操作,还好后来同学发了一个中文版的给我,渐渐也学会了使用编译软件,在编写过程中,软件会提醒出现错误,也可以帮忙改正错误,这样编写程序也简单了许多,期待下周能用编译软件编写更难的题目。