本周学习总结和实验报告一
撰写第三周课程总结及实验报告(一)
1.打印输出所有的“水仙花数”,所谓“水仙花数”是指一个3位数,其中各位数字立方和等于该数本身。例如,153是一个“水仙花数”。
-
编写Java程序,求13-23+33-43+…+973-983+993-1003的值。
-
编程求1!+2!+3!+…+20!。
-
编写Java程序,计算8+88+888+…前10项之和。
-
一个数如果恰好等于它的因子之和,这个数就称为完数。编写程序输出1000以内的所有完数。
-
编写应用程序,输出满足1+2+3+…+n<8888的最大正整数。
-
使用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("
");
}
}
}
学习内容总结:
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("
");
也可以用System.out.println();一般第二种用的比较多。