【问题标题】:How to resolve “Type mismatch: cannot convert from int to boolean” java error?如何解决“类型不匹配:无法从 int 转换为 boolean”java 错误?
【发布时间】:2021-05-31 00:40:36
【问题描述】:

当我尝试运行本书中的一个示例时,我遇到了一个我不知道如何修复的错误。代码是:

class Xcopy {
    public static void main(String[] args) {
        int org = 42;
        Xcopy x = new Xcopy();
        int y = x.jazda(org);
        System.out.println(org + " " + y);
    }
    void jazda(int arg) {
        arg = arg * 2;
        return arg;
    }
}

【问题讨论】:

  • void jazda(int arg) -> int jazda(int arg)
  • 甚至错误信息似乎是错误的......还是代码boolean jazda(...?无论如何,Erans comment 应该解决它(我不能赞成它:-))

标签: java return


【解决方案1】:

您的方法 jazda 是 void 类型并返回 int。

class Xcopy {
    public static void main(String[] args) {
        int org = 42;
        Xcopy x = new Xcopy();
        int y = x.jazda(org);
        System.out.println(org + " " + y);
    }
    void jazda(int arg) { //you declare returning type of method to void
        arg = arg * 2;
        return arg; //you return int
    }
}

您需要将方法类型 jazda 更改为 int。

class Xcopy {
    public static void main(String[] args) {
        int org = 42;
        Xcopy x = new Xcopy();
        int y = x.jazda(org);
        System.out.println(org + " " + y);
    }
    int jazda(int arg) { //changed return type to int
        arg = arg * 2;
        return arg;
    }
}

现在所有的方法和变量都有对应的类型了。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-01-18
    • 1970-01-01
    • 1970-01-01
    • 2013-12-08
    • 1970-01-01
    • 2011-12-27
    • 1970-01-01
    相关资源
    最近更新 更多