项目2 任务1-6 流程控制-循环练习(v1)-Java论坛-更多技术-艺兴技术分享

项目2 任务1-6 流程控制-循环练习(v1)

任务详细

帖子底部有文件可以直接下载提交云班课

输出所有的水仙花数,所谓水仙花数是指一个3位数,其各个位上数字立方和等于其本身。
例如: 153 =1*1*1 + 3*3*3 + 5*5*5
提示:3位数,也就是在100开始到999之间,存在多个水仙花数,只要是,就打印出来

不废话了直接上代码

import java.util.Scanner;
public class Longxi12 {
    //第一部分
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入第一个数:");
        int m = sc.nextInt();
        System.out.println("请输入第二个数:");
        int n = sc.nextInt();
        int min = m>n?n:m;
        int a = 1;
        for (int i = 1;i<=min;i++){
            if (m%i==0 && n%i==0){
                a = i;
            }
        }
        System.out.println("最大公约数是:"+a);
        int i = 1;
        while (i<=m*n){
            if (i%m==0 && i%n==0){
                a= i;
                break;
            }
            i++;
        }
        System.out.println("最小公倍数是:"+a);

        //第二部分

        int positiveNumber = 0;//统计正数的个数
        int negativeNumber = 0;//统计负数的个数

//无限循环for(;;) 、while(true)
        while (true){
            System.out.println("请输入一个整数:");
            int z = sc.nextInt();
            if(z>0) {
                positiveNumber++;
            } else if(z<0) {
                negativeNumber++;
            } else {
                break;//此时会退出循环,执行下面的输出打印语句
            }
        }
        System.out.println("正数的个数为:"+positiveNumber);
        System.out.println("负数的个数为:"+ negativeNumber);

            //第三部分
        for(int bl=100; bl<=999; bl++) {
            int aa = bl/100; //百位数
            int b = bl%100/10; //十位数
            int c = bl%10; //个位数
            if(aa*aa*aa + b*b*b + c*c*c == bl) {
                System.out.println(bl + "是水仙花数");
            }
        }


    }

}

 

运行效果如下:

c1f8675594191906

 

Java文件(zip压缩需要解压):

 
e2207bc676192006.zip
zip文件
826B

 

 

 

 

 

请登录后发表评论

    没有回复内容