【问题标题】:How do I make this output a boolean?如何将此输出设为布尔值?
【发布时间】:2015-07-03 10:29:55
【问题描述】:

这是我的代码,我希望输出是这样的:

给定两个数字,第二个输入是第一个输入的倍数吗?

例如:

输入:

3

6

输出:

是的

public boolean multiple(int m, int n){

    int i = 0;
    int j = 0;

    boolean check = true;
    if(n%m == 0){
        i++;
        return check;
    }
    else{
        j++;
        return false;
    }
}

当我尝试它时,我得到一个错误,我认为这是因为 return 语句在 if 和 else 语句中。

【问题讨论】:

  • 你遇到了什么错误?
  • 你得到什么错误?
  • 看起来你的错误在你的代码中的其他地方......
  • @RamanSB 显示您的其余代码,因为那是您的问题所在......
  • 您不需要变量 i 和 j,也不需要检查变量。只需返回 true 即可代替检查。

标签: java if-statement boolean return


【解决方案1】:

代码完全没问题..错误一定在其他地方

public class Test1 {
public static void main(String[] args) {
    System.out.println(multiple(3, 9));

}
    public static boolean multiple(int m, int n){

        int i = 0;
        int j = 0;

        boolean check = true;
        if(n%m == 0){
            i++;
            return check;
        }
        else{
            j++;
            return false;
        }
        }
}

输出 true

这里是输出见IDEONE

【讨论】:

  • 欢迎 :) 顺便说一句,它不是对象它的方法..对象是完全不同的东西伙计!
【解决方案2】:

最简单的方法是返回 if 语句的结果。

return n % m == 0;

我不确定 i/j 在做什么。除了递增之外,您不会使用它们,但它们是函数的本地函数,并且在返回后会被 GC 处理。你现在拥有的基本上是这样的:

boolean bool = some_calculation();
if (bool == true)
{
    return true;
}
else
{
    return false;
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-11-16
    • 1970-01-01
    • 2015-04-07
    • 2018-04-01
    • 1970-01-01
    • 2013-03-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多