为什么这会产生意外的返回值?

时间:2019-12-25 07:21:58

标签: java if-statement substring return-value

在codingbat上解决问题时,相同的代码有效,但在我的IDE中不可用

public class Bark {
public static void main(String[] args) {
    String lo = "hi there";
    String shank = lo.substring(0 , 2);
    if (shank.equals("hi")) return true;
    else return false;
}}

1 个答案:

答案 0 :(得分:0)

我在这里的猜测是,您的期望必须带有某种人工制品。当然,对shank的检查应表明它等于hi。您正在从void且没有返回类型的方法中返回布尔值。考虑以下版本,该版本可以正常工作:

public static void main(String[] args) {
    String lo = "hi there";
    String shank = lo.substring(0 , 2);
    if ("hi".equals(shank)) {
        System.out.println("EQUAL");
    }
    else {
        System.out.println("NOT EQUAL");
    }
}

也许CodingBat在您的代码中有一些不太明显的钩子,导致代码在那里“起作用”,但在您的IDE中却没有。