第三周作业

Java实验报告

班级 : 计算机科学与技术二班 学号 : 20188440 姓名 : 黄诗荣

实验一 Java开发环境与简单Java程序
一、实验目的
(1)熟悉JDK开发环境
(2)熟练掌握结构化程序设计方法
二、实验内容
1.打印输出所有的“水仙花数”,所谓“水仙花数”是指一个3位数,其中各位数字立方和等于该数本身。例如,153是一个“水仙花数”。
2.编写Java程序,求13-23+33-43+…+973-983+993-1003的值。
3.编程求1!+2!+3!+…+20!。
4.编写Java程序,计算8+88+888+…前10项之和。
5.一个数如果恰好等于它的因子之和,这个数就称为完数。编写程序输出1000以内的所有完数。
6.编写应用程序,输出满足1+2+3+…+n<8888的最大正整数。
7.使用for循环打印下面的图形。

三、实验过程

  1. 打印输出所有的“水仙花数”,所谓“水仙花数”是指一个3位数,其中各位数字立方和等于该数本身。例如,153是一个“水仙花数”。
    实验源码:
public class fff {
	public static void main(String[] args) {
	     int x,y,z;
	     for(int i=100;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.print(i);
	    		 System.out.print("\n");
	    	 }
	     }
	} 

}

实验结果:

153
370
371
407

  1. 编写Java程序,求13-23+33-43+…+973-983+993-1003的值。
    实验源码:
public class fff {
	public static void main(String[] args) {
		int q=0;
		int n=1;
	    for(int i=13;i<=1003;i=i+10) {
	    	n=n+1;
	    	q+=Math.pow(-1,n)*i;
	    }
	    System.out.print(q);
	} 

}

实验结果:

-500
  1. 编程求1!+2!+3!+…+20!。
    实验源码:
public class fff {
	public static void main(String[] args) {
		int count=0;
	    for(int i=1;i<= 20;i++) {
	    	count+=fat(i);
	    }
	    	System.out.print(count);
	    	
	    }
	public static int fat(int num) {
		int reust=1;
		for(int j=1;j<=num;j++) {
			reust*=j;
		}
		return reust;
	}

}

实验结果:

268040729
  1. 编写Java程序,计算8+88+888+…前10项之和。
    实验源码:
public class fff {
	public static void main(String[] args) {
		long count=0;
	    for(long i=8;i<=8888888888l;i=i*10+8) {
	    	count+=i;
	    }
	    System.out.print(count);
	} 

}

实验结果:

9876543200
  1. 一个数如果恰好等于它的因子之和,这个数就称为完数。编写程序输出1000以内的所有完数。
    实验源码:
public class fff {
	public static void main(String[] args) {
		int count=0;
	    for(int i=1;i<=1000;i++) {
	    	count=0;
	    	for(int j=1;j<i;j++) {
	    		if(i%j==0) {
	    			count=count+j;
	    		}
	    		if(count==i) {
	    			System.out.print(i);
	    			System.out.print("\n");
	    		      break;
	    		}
	    	}
	    }
	}
}

实验结果:

6
24
28
496
  1. 编写应用程序,输出满足1+2+3+…+n<8888的最大正整数。
    实验源码:
public class fff {
	public static void main(String[] args) {
		int count=0;
	    for(int i=1;i<=8888;i++) {
	    	count+=i;
	    	if(count>8888) {
	    	System.out.print(i-1);
	    	break;
	    	}
	    }
	} 

}

实验结果:

132
  1. 使用for循环打印下面的图形。
    实验源码:
public class fff {
	public static void main(String[] args) {
		for(int i=1;i<=5;i++) {
			for(int j=1;j<=5-i;j++) {
				System.out.print(" ");
			}
			for(int k=1;k<=i;k++) {
				System.out.print(" *");
			}
			System.out.print("\n");
		}
	}
}

实验结果:

         *
        * *
       * * *
      * * * *
     * * * * *

总结:
封装性是面对对象的第一大特性,所谓的封装性就是指对外部不可见,将类中的属性封装(private),为属性封装:private 属性类型 属性名称;

构造方法,在面对对象程序中构造方法的主要作用是为类中的属性初始化,构造方法的名称与类名称一致,构造方法的声明处不能有任何返回值类型的声明,不能在构造方法中使用return返回一个值

构造方法可重载;一个类中至少会存在一个构造方法;

匿名对象,没有明确给出名字的对象。一般匿名对象只使用一次 只在堆内存中开辟对象,不存在栈内存的引用

this关键字,表示类中的属性,可以使用this调用本类的构造方法,this表示当前对象。static关键字,使用static声明属性,使用static声明方法

posted @ 2019-09-15 18:16  hshsr  阅读(143)  评论(0编辑  收藏  举报