java怎么判断数组中哪些是水仙花数?

package javaTest;

import java.util.Scanner;

public class Test2 {

    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        int n,i;
        System.out.println("请输入数组a[]的元素个数");
        try {
        n = scanner.nextInt();
        int[] a = new int[n];
        for(i = 0; i < n; i++) {
            System.out.println("请输入数组a[" + i + "]");
            a[i] = scanner.nextInt();
        }
        scanner.close();
    }
    catch(Exception e) {
        e.printStackTrace();
        }

    }

}

这个是在控制台里面输入数组,求问输入完后要判断里面哪些是水仙花数怎么写

import java.util.Scanner;
public class Test {
    public static void main(String[] args) {
        Scanner in=new Scanner(System.in);
        int arr[]=new int[7];
        System.out.println("请输入7个三位数:");
        for(int i=0;i<arr.length;i++){
            arr[i]=in.nextInt();
        }
        System.out.println("数组中的水花仙数为:");
        for(int i=0;i<arr.length;i++){
            int x =arr[i]/100;
            int y =arr[i]/10%10;
            int z =arr[i]%10;
            if(arr[i]=x*x*x+y*y*y+z*z*z)
                System.out.println(arr[i]);
        }
    }
}

 

有没有规定输入的数字是几位数呢?比如3位数153

a = 153/100;  //百位

b = 153/10%10; //十位

c = 153% 10;  //个位

if(a*a*a + b*b*b+c*c*c == 153)  {

    System.out.println("153是水仙花");

}

package javaTest;

import java.util.Scanner;

public class Test2 {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        int n,i;
        System.out.println("请输入数组a[]的元素个数");
        try {
        n = scanner.nextInt();
        int[] a = new int[n];
        for(i = 0; i < n; i++) {
            System.out.println("请输入数组a[" + i + "]");
            a[i] = scanner.nextInt();
            if (a[i] > 99 && a[i] < 1000) {
                int a1 = a[i] / 100;// 百
                int b = a[i] / 10 % 10;// 十
                int c = a[i] % 10;// 个
                int result = (int) Math.pow(a1, 3) + (int) Math.pow(b, 3) + (int) Math.pow(c, 3);
                if (result == a[i]) {
                    System.out.println(a[i]+"是水仙花数");
                }
            }
        
        }
        
        scanner.close();
    }
    catch(Exception e) {
        e.printStackTrace();
        }

    }

}

您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~

如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~

ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632