第三周课程总结&实验报告一
通过最近一周的学习,我学ee到了
1.Java的封装,通过setter getter设置与取得被封装的属性。类中的所有属性都要封装。
2.main方法的含义
3.static关键字
4.使用this调用本类的属性。
总体来说还是比较简单,目前还能接受,慢慢学吧
1.打印输出所有的“水仙花数”,所谓“水仙花数”是指一个3位数,其中各位数字立方和等于该数本身。例如,153是一个“水仙花数”。
package java实验报告一; public class Test1 { public static void main(String[] args) { int a,b,c; for(int i=100;i<=999;i++){ a=i/100; b=(i/10)%10; c=i%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的值。
package java实验报告一; public class Test2 { public static void main(String[] args) { int sum=0,n=13,a=1; for(int i=1;i<=100;i++){ sum=sum+a*n; n=n+10; a=-a; } System.out.println(+sum); } }
该题简单一次通过
3. 编程求1!+2!+3!+…+20!。
package java实验报告一; public class Test3 { public static void main(String[] args) { int sum=1,a=0; for(int i=1;i<=20;i++){ sum=i*sum; //计算i的阶乘 a=sum+a; //累加 } System.out.println(+a); } }
一次通过
4. 编写Java程序,计算8+88+888+…前10项之和。
package java实验报告一; public class Test4{ public static void main(String args[]){ long b = 8,c = 8; for(int i = 1;i< 10;i++){ c= c*10 + 8; b = b + c; } System.out.println(b); } }
一次通过
5. 一个数如果恰好等于它的因子之和,这个数就称为完数。编写程序输出1000以内的所有完数。
package java实验报告一; public class Test5 { public static void main(String[] args) { long sum=0; for(long i=2;i<=999999999;i++){ for(long j=1;j<i;j++){ if(i%j==0){ //计算判断约数 sum=sum+j; //约束累加 } } if(sum==i){ System.out.println(+i); sum=0; //初始化sum值!! } sum=0; //初始化sum值 } } }
该题有难度,注意初始化sum值。
6. 编写应用程序,输出满足1+2+3+…+n<8888的最大正整数。
package java实验报告一; public class Test6{ public static void main(String args[]){ int n=0,sum=0; while(sum<8888){ n+=1; sum+=n; } System.out.println(n); } }
该题简单
7. 使用for循环打印下面的图(等腰三角形)
package java实验报告一; public class Test7 { public static void main(String[] args){ int i,j,k; for(i=1;i<=5;i++){ for(j=0;j<5-i;j++){ System.out.print(" "); } for(k=0;k<i;k++){ System.out.print("* "); } System.out.print("\n"); } } }
该题只要注意空格数就ok