第三周课程总结&实验报告一
一、实验报告
1)打印输出所有的“水仙花数”,所谓“水仙花数”是指一个3位数,其中各位数字立方和等于该数本身。例如,153是一个“水仙花数”。
I、实验代码
public class text { public static void main(String args[]) { int x,y,z; for(int i=0;i<999;i++) { x=i/100; y=(i%100)/10; z=i%10; if(Math.pow(x, 3)+Math.pow(y, 3)+ Math.pow(z, 3)==i){ System.out.println(i); } } } }
II、运行结果截图
2)编写Java程序,求13-23+33-43+…+973-983+993-1003的值。
I、实验代码
public class text { public static void main(String args[]) { int flag=-1,sum=0; for(int i=13;i<=1003;i=i+10) { flag=flag*(-1); sum+=flag*i; } System.out.println(sum); } }
II、运行结果截图
3)编程求1!+2!+3!+…+20!。
I、实验代码
public class text { public static void main(String args[]) { long flag=1,sum=0; for(int i=1;i<=20;i++) { flag=flag*(i); sum+=flag; } System.out.println(sum); } }
II、运行结果截图
4) 编写Java程序,计算8+88+888+…前10项之和。
I、实验代码
public class text { public static void main(String args[]) { long flag=0,sum=0; for(int i=1;i<=10;i++) { flag=flag*10+8; sum+=flag; } System.out.println(sum); } }
II、运行结果截图
5)一个数如果恰好等于它的因子之和,这个数就称为完数。编写程序输出1000以内的所有完数。
I、实验代码
public class text { public static void main(String args[]) { for(int i=2;i<=1000;i++) { int flag=0; for(int j=1; j<=i/2; j++) { if(i % j == 0) { flag=flag+j; } } if(flag == i) { System.out.println(i); } } } }
II、运行结果截图
6)编写应用程序,输出满足1+2+3+…+n<8888的最大正整数。
I、实验代码
public class text { public static void main(String args[]) { int i=0,sum=0; while(sum < 8888) { i++; sum+=i; } System.out.println(i-1); } }
II、运行结果截图
小结:这个题目在输出的时候没想清楚,得到的答案是133,看了一下别人的代码才明白
7)使用for循环打印下面的图(等腰三角形)
I、实验代码
public class text { public static void main(String args[]) { for(int i=1;i<=5;i++) { for(int j=5-i;j>=0;j--) { System.out.print(" "); } for(int j=1;j<=i;j++) { System.out.print("* "); } System.out.println(); } } }
II、运行结果截图
总结:虽然这一次的题目并不是特别难,但是我总是出错在一些小细节上,感觉自己学的还是不够,以后要更加努力。
二、课程总结
1)this的用法
I、表示类中的属性
II、调用本类的构造方法
III、表示当前对象
2)static的用法
I、设置静态变量
II、设置静态方法
(注:static方法不能调用非static的方法或属性,且不能与this同时使用)