撰写第三周课程总结及实验报告(一)
Java实验报告
班级 计科一班 学号 20188375 姓名 汤云云
完成时间
评分等级
实验一 Java开发环境与简单Java程序
一、 实验目的
(1) 熟悉JDK开发环境
(2) 熟练掌握结构化程序设计方法
二、 实验内容
- 打印输出所有的“水仙花数”,所谓“水仙花数”是指一个3位数,其中各位数字立方和等于该数本身。例如,153是一个“水仙花数”。
- 编写Java程序,求13-23+33-43+…+973-983+993-1003的值。
- 编程求1!+2!+3!+…+20!。
- 编写Java程序,计算8+88+888+…前10项之和。
- 一个数如果恰好等于它的因子之和,这个数就称为完数。编写程序输出1000以内的所有完数。
- 编写应用程序,输出满足1+2+3+…+n<8888的最大正整数。
- 使用for循环打印下面的图形。
三、 实验过程
1. 打印输出所有的“水仙花数”,所谓“水仙花数”是指一个3位数,其中各位数字立方和等于该数本身。例如,153是一个“水仙花数”。 |
实验源码:
public class Flower { public static void main(String[] args) { int n, g, s, b; for(n=100;n<1000;n++) { g=n%10; s=n/10%10; b=n/100%10; if(n==g*g*g+s*s*s+b*b*b) { System.out.println(n); } } } }
|
实验结果:
|
2. 编写Java程序,求13-23+33-43+…+973-983+993-1003的值。 |
实验源码:
public class Sum { public static void main(String[] args) { int n; int sum=0; for(n=1;n<=100;n++) { if(n%2==0) { sum=sum-(n*10+3); } else { sum=sum+n*10+3; } } System.out.println(sum); } }
|
实验结果:
|
3. 编程求1!+2!+3!+…+20!。 |
实验源码: public class Factorial { public static void main(String[] args) { long sum=0; for(int i=1;i<=20;i++) { sum+=fact(i); } System.out.println(sum); } public static long fact(int n) { long product=1; for(int i=1;i<=n;i++) { product=product*i; } return product; } }
|
实验结果:
|
4. 编写Java程序,计算8+88+888+…前10项之和。 |
实验源码:
public class Eight { public static void main(String[] args) { int i; long item=8; long sum=0; for(i=1;i<11;i++) { sum=sum+item; item=item*10+8; } System.out.println(sum); } }
|
实验结果:
|
5. 一个数如果恰好等于它的因子之和,这个数就称为完数。编写程序输出1000以内的所有完数。 |
实验源码:
1 public class WanShu 2 { 3 public static void main(String[] args) 4 { 5 int i,j; 6 for(i=1;i<=1000;i++) 7 { 8 int sum=0; 9 for(j=1; j<i; j++) 10 { 11 if(i%j==0) 12 { 13 sum=sum+j; 14 } 15 } 16 if(i==sum) 17 { 18 System.out.println( i ); 19 } 20 } 21 } 22 }
|
实验结果:
|
6. 编写应用程序,输出满足1+2+3+…+n<8888的最大正整数。 |
实验源码:
public class Bign { public static void main(String[] args) { int i; int sum=0; for(i=1; sum+i<8888; i++) { sum=sum+i; } System.out.println( i -1); } }
|
实验结果:
|
7. 使用for循环打印下面的图形。
|
实验源码:
1 public class Triangle 2 { 3 public static void main(String[] args) 4 { 5 for (int i = 0; i < 5; i++) 6 { 7 for (int j = i + 1; j < 5; j++) 8 { 9 System.out.print(" "); 10 } 11 for (int k = 0; k <= i; k++) 12 { 13 System.out.print("* "); 14 } 15 System.out.println(); 16 } 17 } 18 }
|
实验结果:
|
总结:
一、This 关键字的使用方法:
(1)强调调用本类方法
(2)表示类中的属性
(3)可以使用this调用本类的构造方法
(4)this表示当前对象
以后在类中访问属性的时候都要加上this关键字
二、使用this调用构造方法的注意事项:
(1)this( )调用构造方法必须也只能放在构造方法的第一行
(2)对于this调用构造方法的时候一定要留一个构造方法作为出口
三、this表示当前对象:
在java中当前对象就是指当前正在调用类中方法的对象
四、static使用方法:
一个类中的方法不想由对象,而是由类名称直接调用;
非static声明的方法可以去调用static声明的属性或方法的。但是static声明的方法是不能调用非static类型声明的属性或方法的。
例如:
class Person { private static String country="A城"; private String name = "Hello"; public static void sFun(String c) { System.out.println("name="+name); fun( ); } public void fun( ) { System.out.println("World"); } }
五、理解main( )方法
(1)public:表示此方法可以被外部所调用
(2)static:表示此方法可以由类名称直接调用
(3)void:主方法是程序的起点,所以不需要任何的返回值
(4)main:系统规定好默认调用的方法名称,执行的时候,默认找到main( )方法名称
(5)String args[]:表示的是运行时的参数。参数传递的形式为“Java”类名称 参数1 参数2 参数3........"。
main()的定义:
public static void main(String args[])