Casey996 2021-09-01 11:36 采纳率: 50%
浏览 101
已结题

求水仙花数代码(Java):

水仙花数是指一个 3 位数,它的每个位上的数字的 3次幂之和等于它本身。例如:1^3 + 5^3+ 3^3 = 153。

import.java.util.Scanner;
public class One {
    public static void main(String[] args) {
        Scanner myScanner = new Scanner(System.in);
        String num = myScanner.next();
        char a = num.charAt(0);
        char b = num.charAt(1);
        char c = num.charAt(2);
        int a1 = a * a * a;
        int a2 = b * b * b;
        int a3 = c * c * c;
        int c2 = a1 + a2 + a3;
        String c1 = c2 + "";
        if(c1.equals(num)) {
            System.out.println("这个数是水仙花数");
        } else {
            System.out.println("这个数不是水仙花数");
        }

    }
}

各位我输入153,为何输出这个数不是水仙花数呢?

  • 写回答

3条回答 默认 最新

  • CSDN专家-Fay 2021-09-01 11:40
    关注

    最好输入整型,再取每一位,不用要字符串计算,另外整型对比要用 等等于:

    public static void main(String[] args) {
                Scanner myScanner = new Scanner(System.in);
                int num = myScanner.nextInt();
                int a = num/100;
                int b = num/10%10;
                int c = num%10;
                int a1 = a * a * a;
                int a2 = b * b * b;
                int a3 = c * c * c;
                int c2 = a1 + a2 + a3;
                
                if(c2==num) {
                    System.out.println("这个数是水仙花数");
                } else {
                    System.out.println("这个数不是水仙花数");
                }
         
            }
    
    

    img

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 9月9日
  • 已采纳回答 9月1日
  • 创建了问题 9月1日

悬赏问题

  • ¥20 delta降尺度方法,未来数据怎么降尺度
  • ¥15 c# 使用NPOI快速将datatable数据导入excel中指定sheet,要求快速高效
  • ¥15 高德地图点聚合中Marker的位置无法实时更新
  • ¥15 DIFY API Endpoint 问题。
  • ¥20 sub地址DHCP问题
  • ¥15 delta降尺度计算的一些细节,有偿
  • ¥15 Arduino红外遥控代码有问题
  • ¥15 数值计算离散正交多项式
  • ¥30 数值计算均差系数编程
  • ¥15 redis-full-check比较 两个集群的数据出错