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

代码:

package new1;

import static java.lang.Math.pow;

public class Main {
    public static void main(String[] args){
        for(int i = 100;i<=999;i++){
            int a = i/100;
            int b = (i-a*100)/10;
            int c = i%10;
            if(i == pow(a,3)+pow(b,3)+pow(c,3)){
                System.out.println(i);
            }
        }
    }
}

2.实验结果

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

代码:

package new1;

import static java.lang.Math.pow;

public class Main {
    public static void main(String[] args){
        int sum1 = 0;
        int sum2 = 0;
        for(int i = 13;i<=993;){
            sum1+=i;
            i = i+20;
        }
        for(int j = 23;j<=1003;){
            sum2+=j;
            j = j+20;
        }
        int sum;
        sum = sum1+sum2;
        System.out.println(sum);
    }
}

实验结果

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

代码

package new1;

import java.util.*;

public class Main {
    public static void main(String[] args){
       Scanner sc = new Scanner(System.in);
       int m = sc.nextInt();
       int sum = 0, num = 1;
       for(int i = 1;i<=m;i++)
       {
           num = num*i;
           sum = sum+num;
       }
       System.out.println(sum);
    }
}

实验结果

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

代码

package new1;
public class Main {
    public static void main(String[] args){
       int sum = 0, n = 0;
       int i;
       for(i=1;;i++){
           sum = sum+i;
           if(sum>=8888){
               break;
           }
       }
       System.out.println(sum-i);
    }
}

实验结果

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

代码

package new1;
public class Main {
    public static void main(String[] args){
        int i, j;                            //i是完数,j是因数
        for (i = 1; i <= 1000; i++)
        {
            int sum=0;
            for (j = 1; j <= i; j++)
            {
                if (i % j == 0)             //判断j是否为i的因数,若是则sum加j
                {
                    sum+=j;
                }
            }
                if ((sum - i) == i)     //判断i是否为完数,因子之和sum-i等于本身i
                {
                    System.out.println(i);//输出完数
                }
        }
    }
}

效果截图

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

代码

package new1;
public class Main {
    public static void main(String[] args) {
        int sum = 0, n = 0;
        int i;
       for(i=1;;i++){
           sum = sum+i;
           if(sum>=8888){
               break;
           }
       }
        System.out.println(sum-i);

    }
}

实验结果

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

代码

package new1;
public class Main {
    public static void main(String[] args) {
        int i, j;
        for(i = 1;i<=5;i++){  //循环五次

            for(j = 5;j>=i;j--){   //输出空格
                System.out.print(" ");
            }
            for(j = 1;j<=i;j++){
                System.out.print(" *");
            }
            for(j = 5;j>=i;j--)
            {
                System.out.print(" ");
            }
            System.out.println();
        }
    }

实验结果

总结:

This 的使用
1.表示类中的属性

2.可以使用this调用构造方法

3.this代表当前对象
4.调用本类的方法

static关键词

1.使用static声明属性
static String country = “A城”;  //使用static定义城市属性,有默认值
2.使用static声明方法
public static String getCountry(){
    return country;
}

非static声明的方法可以去调用static声明的属性或方法的,但是static声明的方法不可以调用非static类型声明的属性或方法

 posted on 2019-09-13 22:00  怪她  阅读(188)  评论(0编辑  收藏  举报