第三周课程总结实验报告

一,打印输出所有的“水仙花数”,所谓“水仙花数”是指一个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[]:表示运行时的参数。

猜你喜欢

转载自www.cnblogs.com/tangjiacheng/p/11508819.html