第三周课程总结实验报告

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

1,实验代码

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

2,运行截图。

3,设计思路
这个题目主要是让我们提取数字的个位十位百位,只要解决了这个问题这题就很简单了用一个for循环就可以解决。
(李津老师上课的时候讲过这个题目)这个题目没有遇到什么问题。

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

1,实验代码

public class qiuhe{
	public static void  main(String[]args){
	int sum=0;
	int a; 
	int b;
	for(a=13;a<=1003;){
	    for(b=1;b<=100;b++){
		if(b%2==0)
		sum-=a;
		else
		sum+=a;
		a+=10;
			}
		}
		System.out.println(sum);
	}
}

2,运行截图

3,设计思路
这个题目我们观察到数字每次都是加10,个位总是3,去掉个位的话前面的数字就可以看成1到100,而且前面的数字
是奇数它就是加号,反之就是减号。所以就可以用for循环做出来了。

三,编程求1!+2!+3!+…+20!。

1,实验代码

public class jiecheng{
	public static void main(String[]args){
	int sum=0;
	for(int a=1; a<=20; a++){
	int n=1;		
	for(int b=1; b<=a; b++){
		 n*=b;
		}
		sum+=n;
		}
		System.out.println("输出总和:"+sum);
	}
}

2,运行截图

3,设计思路
这个题目一开始不知道怎么去表示阶乘,然后上网查询后知道了用两个for循环来表示,最后求和就可以了。

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

1,实验代码

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

2,运行截图

3,设计思路
这个题目一开始用int去定义做的,然后算出的结果和别人算的不一样,后面就改成long型就解决了。

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

1,实验代码

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

2,运行截图

3,设计思路
这个题目还没有搞懂,上网查询了后看了代码还是有些不懂,那两个循环不是特别懂,有点反应不过来

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

1,实验代码

public class bijiao{
	public static void main(String [] args){
	int sum=0;
	int i;
	for(i=1; sum+i<8888; i++){
		sum+=i;
		}
	System.out.println("最大整数:"+(i-1));	
	}
}

2,运行截图

3,设计思路
这个题目挺简单,一个for循环就可以解决

七;使用for循环打印下面的图(等腰三角形)

1,实验代码

public class sjx{
	public static void main(String[]args){
	for(int i=1; i<=5; i++){
	for(int n=0; n<5-i; n++){
		System.out.print(" ");
		}
	for(int x=1; x<=i; x++){
		System.out.print("* ");
			}
		System.out.println();
		}
	}
}

2,运行截图

本周学习类容

1,java中this关键字的作用
(1)this强调本类中的方法。
(2)表示本类中的熟悉.
(3)可以 使用this调用本类的构造方法。
(4)this表示单前对象
2,java中static关键字
(1)程序中使用static声明属性的话,则此属性称为全局属性(也叫静态属性)
static不可调用非静态方法的属性。
(2)static也可以用来声明方法,用它声明的方法有时也被称为类方法,可以用类名直接调用。
3,理解main()方法
public:表示此方法可以被外部调用。
static:表示此方法可以由类名直接调用。
void:主方法是程序的起点,所以不需要任何返回值。
main:主系统规定好默认调用的方法名称,执行的时候,默认找到main()方法名称。
String args[]:表示运行时的参数。

原文地址:https://www.cnblogs.com/tangjiacheng/p/11508819.html