• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
neir
博客园    首页    新随笔    联系   管理    订阅  订阅

本周学习总结和实验报告一

本周学习总结和实验报告一

撰写第三周课程总结及实验报告(一)

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

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

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

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

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

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

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

1、水仙花。

package 作业;

public class 水仙花 {
	public static void main(String[] args) {
		int x,y,z;
		int sum=0,i;
		for (i=100;i<=999;i++)
		{
			x=i/100;
			y=(i%100)/10;
			z=i%10;
			sum=x*100+y*10+z;
			if (Math.pow(x,3)+Math.pow(y,3)+Math.pow(z,3)==sum)
			{
				System.out.println(i);
			}
		}
	}

}

2、求值

package 作业;

public class 求值 {
	public static void main(String[] args) {
		int i,a=0,b=1,c=3;
		for (i=1;i<=100;i++)
		{
			a=a+b*(c+(i*10));
			b=-b;
		}
		System.out.println(a);
	}
}

3、求阶乘

package 作业;

public class 求阶层 {
	public static void main(String[] args) {
		int i,j;
		long t=1,sum=0;
		for (i=1;i<=20;i++) {
			for (j=1;j<=i;j++) {
				t=t*j;
			}
			sum=sum+t;
			t=1;
		}
		System.out.println(sum);
	}
}

4、求前十项之和

package 作业;

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

5、求完数

package 作业;

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

}

6、最大正整数

package 作业;

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

}

7、打印

package 作业;

public class 打印 {
	public static void main(String[] args) {
		int i,j,n=5;
		for (i=1;i<=n;i++) {
			for (j=1;j<=n-i;j++) {
				System.out.print(" ");
			}
			for (j=1;j<=i;j++) {
				if (i==j) {
					System.out.print("*");
				}
				else {
					System.out.print("* ");
				}
			}
			System.out.println("\n");
		}
	}

}

学习内容总结:

1、在Java中主要存在4块内存空间
栈内存空间:保存所有的对象名称(保存了引用堆内存空间的地址).
堆内存空间:保存了每个对象的具体属性内容
全局数据区:保存static类型的属性
全局代码区:保存所有的方法定义
2、static调用限制:
非static声明的方法可以去调用static声明的属性方法。
static声明的方法是不能调用非static类型声明的属性后方法。
3、关于this的用处
可以使用this强调本类中的方法。
表示类中的属性
可以使用this调用本类的构造方法
this表示当前对象

再做最后一个题目时,也就是打印等腰三角形出现了许多问题,有很多问题没考虑进去,
比如之间有空格,每打印一行要换行,对于这个题目,我是先打印出一个倒立的空格三角形
再打印带星号的三角形的,在打印时,我不知道如何解决
间的空格,于是参考的同学的做法
代码如下

for (j=1;j<=i;j++) {
				if (i==j) {
					System.out.print("*");
				}
				else {
					System.out.print("* ");
				}
			}

对于输出空格和是从右往左输出的,每行只有一个,其他全是* ,关于换行既可以用
System.out.println("\n");
也可以用System.out.println();一般第二种用的比较多。

posted @ 2019-09-14 12:22  neir  阅读(296)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3