第三周总结

实验1.

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

实验源码

public class Narcissus{
	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.println(i+"是水仙花数");
			}		
		}
	}
}

实验结果

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

实验源码

public class Ten{
	public static void main (String args[]){
		int sum = 0, flag = 1, i = 13;

		while(i <= 1003){
			sum = sum + flag * i;
			i += 10;
			flag = -flag;
		}
		System.out.println("13-23+33-43+...+973-983+993-1003的值为: "+sum);
	}
}

实验结果

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

实验源码:

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

实验结果

4.编写java程序,计算8+88+888+。。。的前10项和

实验源码

package test;

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

实验结果

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

实验源码

package test;

public class Finish{
	public static void main (String args[]) {
		System.out.println("1000以内的所有完数:");
		
		for(int i=2;i<=1000;i++) {
			int s=0;
			for(int j=1;j<i;j++) {
				if(i%j==0)
					s+=j;
			}
			if(s==i)
				System.out.println(""+i);
		}
	}
}

实验结果

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

实验源码

package test;

public class Max8888 {
	public static void main(String ars[]) {
		int sum = 0, i;
		for(i = 1; sum < 8888; i++) {
			sum = sum + i;
		}
		i = i - 2;
		System.out.println("1+2+3+...+n<8888的最大正整数为"+i);
	}
}

实验结果

7.使用for循环打印出空格等腰三角形

实验源码

package test;

public class Triangle {
	public static void main (String asrs[]) {
		for(int i = 1; i <= 5; i++) {
			for(int j = 5;j >= i; j--) {
				System.out.print(" ");
			}
			for(int k=1;k<=i;k++) {
				System.out.print("* ");
			}
			System.out.println();
		}
	}
}

实验结果

第三周学习总结

一丶学习了java的面向对象编程
面向对象的程序设计有3个主要特征:封装性丶继承性丶多态性
1.封装是为了安全,把不需要让外界知道的信息隐藏起来。
2.继承机制大大增强了程序代码的可复用性,提高了软件开发效率,降低了程序产生错误的可能性,为程序的修改扩充提供了便利。
3.多态是允许程序中出现重名现象。java语言中含有方法重载与对象多态两种形式的多态。
方法重载:在一个类中,允许多个方法使用同一个名字,但方法的参数不同,完成的功能也不同。
对象多态:子类对象可以与父类对象进行相互转换,而且根据其使用的子类的不同完成的功能也不同。多
多态的特征使程序的抽象程度和简捷程度更高,有助于程序人员对程序的分组协同开发。

类的定义
class 类名称{
数据类型 属性;
......

public 返回值的数据类型 方法名称 (参数1,参数2...){
    程序语句;
    [return 表达式]
    }

}
定义Person类
class Person{
String name;
int age;
pubic void tell(){
System.out.println("姓名:"+name+", 年龄: "+age);
}
}

对象的创建与使用
类名 对象名称 = null; //声明对象
对象名称 = new 类型();//实例化对象,则需要通过对象,只要关键字new就表示开辟新的堆内存空间

this 关键词
作用:1强调本类中的方法 2.表示类中的属性 3.可以使用this调用本类的构造方法 4.this表示当前对象

staic关键词
*如果在程序使用static声明属性,则此属性称为全局属性或者静态属性。
*把属性使用static进行声明,可以将其变为公共属性。改变一个对象的属性,则全部的对象的属性内容全部发生变化。就是使用static声明的属性是所有对象共享的。
*static既可以在声明属性的时候使用,也可以用来声明方法,用它声明的方法有时也被称为“类方法”,可以由类名称直接调用。
非static声明的方法可以去调用static声明属性或方法的。但是static声明的方法是不能调用非static类型声明的属性或方法的。

实验1中,做水仙花数时用math的时候它报错了,

然后发现是我没有大写。打印等腰三角形这个题,我打印出来的是连续没有空格的三角形。对于用for循环打出号和空格间隔的三角形我没有想出来怎么写。最后看了一下怪他提交的作业,看了一下这个题,恍然大悟,在前面或者后面直接接一个空格就好了。

原文地址:https://www.cnblogs.com/20188382llz/p/11512997.html