我正在编写此代码,我无法弄清楚为什么我无法摆脱不兼容的类型错误。
private String digits;
public String binaryToDecimal() {
int sum = 0;
if(base==2) {
for(int i=0;i<digits.length();i++) {
if(digits.charAt(i)== '1')
sum =+ (int)(Math.pow(2,(digits.length()-1-i)));
}
return sum;
}
else
return "Not a binary number!";
}//end method
我不知道该怎么做,有人可以帮助我吗?
答案 0 :(得分:2)
你基本上有两个问题。
声明您的方法返回一个String:
public String binaryToDecimal()
但是你想要返回一个int:
int sum = 0;
...
return sum;
这就是不兼容类型错误的原因。如果要返回String,可以解决此问题,如下所示:
return String.valueOf(sum);
第二个问题是你的复合作业有错字:
sum =+ (int) ... ;
应该是:
sum += (int) ... ;