Java 水仙数判断代码无响应,如何解决?

ID:17357 / 打印

java 水仙数判断代码无响应,如何解决?

水仙数代码求解遇到无响应问题

在提供的 java 代码中,用户输入数据后没有得到任何输出。这可能是由以下问题引起的:

阻塞的 is() 方法

原始代码中,is() 方法不断阻塞,等待控制台输入数据:

立即学习“Java免费学习笔记(深入)”;

if (is(math[0], math[1], math[2], integer.parseint(a))) {     system.out.println("这个数是水仙数"); }

因为 is() 方法包含一个调用 shuru() 方法的语句,该方法又回到读取控制台输入的 reader.nextint()。

错误的判断

is() 方法不应判断 (aaa)+(bbb)+(ccc) 是否等于用户输入的值,因为它会再次阻塞等待用户输入。

修改后的代码

为了解决这些问题,代码需要进行以下修改:

  • 消除 is() 方法中的阻塞语句:
public static boolean is(int a,int b,int c, int num){     return(a*a*a)+(b*b*b)+(c*c*c)== num; }
  • 在 main() 方法中将判断放入 if 块中:
        if ((a*a*a)+(b*b*b)+(c*c*c)== Integer.parseInt(a)) {             System.out.println("这个数是水仙数");         } else {             System.out.println("这个不是水仙数");         }

修改后的代码解决了阻塞问题,并正确判断输入值是否是水仙数。

上一篇: 安卓10平板打开Word出现错误怎么办?
下一篇: 如何利用线程池隔离提升应用性能和可控性?

作者:admin @ 24资源网   2024-11-27

本站所有软件、源码、文章均有网友提供,如有侵权联系308410122@qq.com

与本文相关文章

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。