1

编译以下内容时出现不兼容类型错误:

public class E10_Bitwise {
    public static void main(String[] args) {
        Bit b = new Bit();
        int x = 87;
        int y = 170;
        x = Integer.toBinaryString(x);
        y = Integer.toBinaryString(y);
        b.combiner(x, y);
    }
}

出于某种原因,它认为括号内的 x 和 y 是字符串。我是在犯错误还是这里发生了其他事情?

E10_Bitwise.java:22 error: incompatible types
                 x = Integer.toBinaryString(x)
                                           ^
required: int
found: string

谢谢你的帮助。

4

4 回答 4

2

toBinaryString()的返回类型是字符串。

尝试,

String xStr=Integer.toBinaryString(x);
于 2012-07-19T03:29:03.960 回答
1

您正在尝试将 type 的返回值分配给 typeString的变量int。这行不通。

您需要分配 的返回值toBinaryString,如下所示:

String xStr = Integer.toBinaryString(x);
String yStr = Integer.toBinaryString(y);
b.combiner(xStr, yStr);
于 2012-07-19T03:28:56.190 回答
1

您正在尝试分配一个String(Integer.toBinaryString()) 返回给int x.

您将需要一个 String 变量来将其分配给它。

于 2012-07-19T03:29:15.507 回答
1

我根本不了解Java,但看起来您正在尝试将字符串(来自 Integer.toBinaryString() 调用的结果)分配给int (x, y)。

我的猜测是 toBinaryString() 创建一个整数的二进制字符串(例如“010101110”)表示。

于 2012-07-19T03:30:21.277 回答