撰写第三周课程总结及实验报告(一)
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[])