JAVA——水仙花数问题
  Ek7w3sAhAFsZ 2024年08月07日 59 0

2024/07/12
1.问题
2.错误解法
3.错误分析
4.正确解法
5.其他:关于Java中幂函数的用法
6.参考

1.问题

2.错误解法

import java.util.Scanner;

public class Main {
	public static void main(String[] args) {
		Scanner scanner = new Scanner(System.in);
		int A = nextInt();
		**if (A>=100&&a<=999)**
		{
		    int a = A/100%10;
		    int b = A/10%10;
		    int c = A%10;
		    **if (A==pow(a,3)+pow(b,3)+pow(c,3))**
		    {
		        System.out.println("1");
		    }
		    else
		    {
		        System.out.println("0");
		    }
		}
		else
		{
			System.out.println("您输入的不是三位数!");
		}
	}
}

3.错误分析

  • nextInt() 方法应该由 scanner 调用,而不是直接调用 nextInt()
  • 在判断条件中,变量a的使用有误,应该是 A
  • pow 函数在Java中不是直接可用的,需要使用 Math.pow 方法。

4.正确解法

import java.util.Scanner;
import java.lang.Math; // 导入Math类以使用pow函数

public class Main {
	public static void main(String[] args) {
		Scanner scanner = new Scanner(System.in);// 使用scanner调用nextInt()
		int A = scanner.nextInt();
        //变量A是一个三位数
		if (A >= 100 && A <= 999)
		{
		    int a = A/100%10;
		    int b = A/10%10;
            int c = A%10;
		    //A为int类型,使用Math.pow计算立方和后,强制转换为int类型后才能与A做比较
		    if (A == (int)(Math.pow(a,3)+Math.pow(b,3)+Math.pow(c,3)))
		    {
		        System.out.println("1");
		    }
		    else
		    {
		        System.out.println("0");
		    }
		}
		else
		{
			System.out.println("您输入的不是三位数!");
		}
		 scanner.close(); // 关闭scanner
	}
}

5.其他:关于Java中幂函数的用法

* import java.lang.Math; // 应先导入导入Math类以使用pow函数。
* Math.pow(a,3)//表示a的三次方。

6.参考
https://blog.csdn.net/bbDreamdotrue/article/details/113410365

【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2024年08月07日 0

暂无评论

推荐阅读
  VGxawBTN4xmE   14小时前   10   0   0 Java
  FHUfYd9S4EP5   3天前   25   0   0 Java
  sSh3rBaiME5f   4天前   32   0   0 Java
  qCe06rFCa8NK   3天前   19   0   0 Java
  ZTo294hNoDcA   3天前   26   0   0 Java
  FHUfYd9S4EP5   3天前   20   0   0 Java
  QGiRIwDaZAe8   4天前   23   0   0 Java
Ek7w3sAhAFsZ