登录
首页 >  文章 >  java教程

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

时间:2024-11-22 08:16:05 467浏览 收藏

一分耕耘,一分收获!既然都打开这篇《Java 水仙数判断代码无响应,如何解决?》,就坚持看下去,学下去吧!本文主要会给大家讲到等等知识点,如果大家对本文有好的建议或者看到有不足之处,非常欢迎大家积极提出!在后续文章我会继续更新文章相关的内容,希望对大家都有所帮助!

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

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

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

阻塞的 is() 方法

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

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("这个不是水仙数");
        }

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

好了,本文到此结束,带大家了解了《Java 水仙数判断代码无响应,如何解决?》,希望本文对你有所帮助!关注golang学习网公众号,给大家分享更多文章知识!

相关阅读
更多>
最新阅读
更多>
课程推荐
更多>