【问题标题】:A method which accepts two integer values as input parameters and returns the boolean一种接受两个整数值作为输入参数并返回布尔值的方法
【发布时间】:2016-02-06 03:56:19
【问题描述】:

这是一个测试的练习题之一:

编写一个接受两个整数值作为输入参数的方法,如果输入的总和大于或等于 10,则返回布尔结果 true(以及 falseotherwise)

我的答案在下面,但我认为它看起来不正确。谁能给我指点一下?

public class Bruh{
    public static void main (String [] arg){
        int a;
        int b;
        boolean sum = true;
        if ( a+b > 10)
          System.out.println ("yo");
        else{ 
            sum = false;
        }
    }
}

【问题讨论】:

  • 嗯,不——你还没有创建一个接受两个整数值并返回一个布尔值的方法。提示:public static boolean isSumGreaterThan10(int a, int b)
  • 你没有返回语句,所以它不返回任何东西。旁边,更大或等于>=,而不是>(这只是更大)
  • 这就是你的意思吗?公共类Bruh{公共静态无效主要(字符串[] arg){}公共静态布尔更大(int a,int b,布尔总和){总和=真; if (a+b >= 10) System.out.println ("yo");否则{总和=假; } } }

标签: java methods int boolean


【解决方案1】:

您只在main 方法中编写了一些代码,但您没有创建。

为此,您需要在 Bruh 类中实际创建一个方法,例如:

public static boolean isSumGreaterThan9(int a, int b){
    return (a + b) > 9;
}

比从main 方法调用它:

public static void main (String [] arg){
    int a = 4; // or whatever
    int b = 7; // or whatever
    System.out.println(isSumGreaterThan9(a, b));
}

【讨论】:

  • 我不想学究气,但该方法检查大于 9,而不是 10。如果您要执行 isSumGreaterThan10(5, 5); 并让它返回 true,这会有点令人困惑。
  • @jonk 问题状态 编写一个方法,该方法接受两个整数值作为输入参数,如果输入的总和大于或等于 10,则返回布尔结果 true(否则为 false) 所以在a + b = 10 的情况下应该返回true
  • 是的,但是您的函数名为 isSumGreaterThan10,但随后会检查 sum 是否大于 9,因此如果 sum 等于 为 10,则返回 true,因此它令人困惑。
  • @jonk 是的,我在他的评论中使用了 Jon Skeet 建议的签名。固定...
【解决方案2】:

您需要将您的逻辑放入一个方法中,并根据要求将您的比较更改为>=

public static boolean isSumGreaterThanOrEqualToTen(int a, int b) {
    return (a + b) >= 10;    
}

【讨论】:

    猜你喜欢
    • 2015-04-07
    • 2016-02-19
    • 2017-07-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-09-13
    • 2018-06-12
    相关资源
    最近更新 更多