实验报告
1.打印输出所有的“水仙花数”,所谓“水仙花数”是指一个3位数,其中各位数字立方和等于该数本身。例如,153是一个“水仙花数”。
实验代码
package First;
public class Demo1 {
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的值。
实验代码
package First;
public class Demo2 {
public static void main(String[] args) {
int a=1,i,sum=0;
for(i=13;i<=1003;i=i+10) {
sum=sum+i*a;
a=-a;
}
System.out.println(sum);
}
}
3.编程求1!+2!+3!+…+20!。
实验代码:
package First;
public class Demo3 {
public static void main(String[] args) {
long sum=0,i,m=1;
for(i=1;i<=20;i++) {
m=m*i;
sum=sum+m;
}
System.out.println(sum);
}
}
4: 编写Java程序,计算8+88+888+…前10项之和。
实验源码:
package First;
public class Demo4 {
public static void main(String[] args) {
long sum=0,q=8,w=0;
for(int i=0;i<10;i++) {
w=w*10+q;
sum=sum+w;
}
System.out.println(sum);
}
}
5.一个数如果恰好等于它的因子之和,这个数就称为完数。编写程序输出1000以内的所有完数。
实验代码
package First;
public class Demo5 {
public static void main(String[] args) {
long i,j,sum;
for(i=2;i<=1000;i++) {
sum=0;
for(j=1;j<=i/2;j++) {
if(i%j==0) {
sum=sum+j;
}
}
if(sum==i) {
System.out.println(i);
}
}
}
}
6.编写应用程序,输出满足1+2+3+…+n<8888的最大正整数。
实验源码:
package First;
public class Demo6 {
public static void main(String[] args) {
// TODO Auto-generated method stub
int sum=0,y=0;
for(int i=1;sum<8888;i++) {
sum+=i;
y=i-1;
}
System.out.println(y);
}
}
7.使用for循环打印下面的图形。
实验源码:
package First;
public class Demo7 {
public static void main(String[] args) {
// TODO Auto-generated method stub
long i,j;
for(i=1;i<=5;i++) {
for(j=i;j<=5;j++) {
System.out.print(" ");
}
for(j=1;j<=i;j++) {
System.out.print("* ");
}
System.out.println();
}
}
}
这周老师讲了string类、this关键词、static关键字的常用方法及其相关应用,我自己也去搜索了一下this的用法,如下
Java关键字this只能用于方法方法体内。当一个对象创建后,Java虚拟机(JVM)就会给这个对象分配一个引用自身的指针,这个指针的名字就是 this。因此,this只能在类中的非静态方法中使用,静态方法和静态的代码块中绝对不能出现this,这在“Java关键字static、final 使用总结”一文中给出了明确解释。并且this只和特定的对象关联,而不和类关联,同一个类的不同对象有不同的this。发现和老师讲的差不太多。这周的作业感觉不太难,有很多都与大一学的c语言有很多类似的地方,本周收获还行,以后继续努力。