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日

悬赏问题

  • ¥15 下图接收小电路,谁知道原理
  • ¥15 装 pytorch 的时候出了好多问题,遇到这种情况怎么处理?
  • ¥20 IOS游览器某宝手机网页版自动立即购买JavaScript脚本
  • ¥15 手机接入宽带网线,如何释放宽带全部速度
  • ¥30 关于#r语言#的问题:如何对R语言中mfgarch包中构建的garch-midas模型进行样本内长期波动率预测和样本外长期波动率预测
  • ¥15 ETLCloud 处理json多层级问题
  • ¥15 matlab中使用gurobi时报错
  • ¥15 这个主板怎么能扩出一两个sata口
  • ¥15 不是,这到底错哪儿了😭
  • ¥15 2020长安杯与连接网探