第三周课程总结和实验报告(一)

实验报告(一)

1. 打印输出所有的“水仙花数”,所谓“水仙花数”是指一个3位数,其中各位数字立方和等于该数本身。例如,153是一个“水仙花数”。

实验源码:

 

import java.util.Scanner;
public class Text1 
{

	public static void main(String[] args) {
		int a,b,c;
		for(int i=100;i<=999;i++) {
			a=i/100;
			b=(i%100)/10;
			c=i%10;
			if(i==Math.pow(a, 3)+Math.pow(b, 3)+Math.pow(c, 3)) {
				System.out.println(i);
			}
		    }
	}
}

实验结果:

 2. 编写Java程序,求13-23+33-43+…+973-983+993-1003的值。

实验源码:

import java.util.Scanner;
public class Text1 
{

	public static void main(String[] args) {
		int value1=13,value2=23,sum=0;
		for(;value2<=1003;) {
			sum=sum+value1+value2;
			value1+=10;
			value2+=10;
		}
		System.out.println(sum);
	}
}

实验结果:

 3. 编程求1!+2!+3!+…+20!

实验源码;

import java.util.Scanner;
public class Text1 
{

	public static void main(String[] args) {
		int sum=1,SUM=0;
		
		for(int i=1;i<=20;i++) {
			sum=sum*i;
			SUM=SUM+sum;
		}
		System.out.println(SUM);
	}
}

  实验结果:

 4. 编写Java程序,计算8+88+888+…前10项之和

实验源码:

import java.util.Scanner;
public class Text1 
{

	public static void main(String[] args) {
		int a=8,sum=0;
		for(int i=1;i<=10;i++) {
			sum=sum+a;
			a=(8+a*10);
		}
		System.out.println(sum);
	}
}

  实验结果:

 5. 一个数如果恰好等于它的因子之和,这个数就称为完数。编写程序输出1000以内的所有完数。

实验源码

import java.util.Scanner;
public class Text1 
{

	public static void main(String[] args) 
	{
		int sum=0;
		for(int i=1;i<=1000;i++)
		{
			for(int j=1;j<=i/2;j++)
			{
				if(i%j==0)
				{
					sum=sum+j;
				}
			}
			if(i==sum)
			{
				System.out.println(i);
			}
			sum=0;
		}
         }
}

  实验结果:

6. 编写应用程序,输出满足1+2+3+…+n<8888的最大正整数

实验源码:

import java.util.Scanner;
public class Text1 
{

	public static void main(String[] args) 
	{
		int sum=0;
		for(int i=1;sum<8888;i++)
		{
			sum=i+sum;
			if(sum+i>8888)
			{
				System.out.println(i);
				break;
			}
		}
	}
}

  实验结果:

 7. 使用for循环打印下面的图形。

实验源码:

import java.util.Scanner;
public class Text1 
{

	public static void main(String[] args) 
	{
		int value1=5,point=1;
		for(int i=1;i<=5;i++){
			point=1;
			for(int j=1;;j++){
				if(j<=value1){
					System.out.print(" ");
				}
				else{
					for(int a=1;a<=i;a++){
						System.out.print("* ");
						if(a==i){
							System.out.print("\n");
							point=0;
							break;
						}
					}
				}
				if(point==0){
					break;
				}
			}
			value1--;
		}
	}
		
}

  实验结果:

 总结:

本次实验主要都偏向基础,有一定C语言基础就不难,大部分都考察了常见的循环结构和分支结构,我在实验过程中没有出现什么值得一提的问题。

第三周课程总结

1,封装性

为属性封装:private 属性类型 属性名称

为方法封装:private 方法返回值 方法名称(参数列表){}

只要是被封装的属性,则必须通过setter和getter方法设置和取得。

setter和和getter可以在eclipse上的源码选项中快速建立。

2,构造方法

构造方法用于程序的初始化和属性的初始化。

构造方法的声明需要遵守以下要点:

①构造方法必须与类名称一致。

②构造方法的声明处不能有任何返回值类型的声明。

③不能在构造方法中使用return返回值一个值。

 

构造方法定义格式:

class 类名称{

      访问权限 类名称(类型1 参数1,类型2 参数2,……){

              程序语句;

             ……  //构造方法没有返回值

                     }

   }

3,this关键字

this关键字有以下作用:

①强调调用本类方法。

②表示类的成员属性(变量)。

③调用构造方法(需放在行首且不能循环调用)

④表示当前对象。

4,static关键字

如果使用static声明属性,则此属性称为全局属性(有些也可称为静态属性)。

当我们需要将大量对象的一个属性修改为同一个结果时,就可以用static将该属性改为公共属性。

类属性调用:

类名称.static 属性

 

使用static声明方法:

Static既可以在声明属性时使用,也可以用其来声明方法,用它声明的方法有时也被称为“类方法”,可以由类名称直接调用。

5,Java常用的内存区域:

①栈内存空间:保存所有的对象名称(保存了引用的堆内存空间的地址)

②堆内存空间:保存每个对象的具体属性内容。

③全局数据区:保存static类型的属性。

④全局代码区:保存所有的方法定义。

 

 

猜你喜欢

转载自www.cnblogs.com/noacgnnolife/p/11519432.html