编译以下内容时出现不兼容的类型错误:
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
感谢您的帮助。
答案 0 :(得分:2)
答案 1 :(得分:1)
您正尝试将类型String
的返回值分配给int
类型的变量。这不起作用。
您需要指定toBinaryString
的返回值,如下所示:
String xStr = Integer.toBinaryString(x);
String yStr = Integer.toBinaryString(y);
b.combiner(xStr, yStr);
答案 2 :(得分:1)
您正在尝试分配String
(Integer.toBinaryString())返回int x
。
您需要一个String变量来代替它。
答案 3 :(得分:1)
我根本不了解Java,但看起来你正试图将字符串(来自Integer.toBinaryString()调用的结果)分配给 int (x,y)。
我的猜测是toBinaryString()创建一个二进制字符串(例如“010101110”)表示整数。