JAVA——水仙花数问题

cnblogs 2024-07-12 17:39:00 阅读 98

2024/07/12

1.问题

2.错误解法

3.错误分析

4.正确解法

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

6.参考

1.问题

2.错误解法

<code>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



声明

本文内容仅代表作者观点,或转载于其他网站,本站不以此文作为商业用途
如有涉及侵权,请联系本站进行删除
转载本站原创文章,请注明来源及作者。