打印unicode值而不是字符串的Java程序
我试图添加2个二进制字符串,但得到的结果是Unicode
输入:"11""1"
输出:"\u0001\u0000\u0000"
我希望我的答案是100
class Solution {
public String addBinary(String a, String b) {
String ans=new String();
int i=a.length()-1;
int j=b.length()-1;
int carry=0;
while(i>=0 || j>=0 || carry==1){
int add=carry;
if(i>=0) add+=a.charAt(i)-'0';
if(j>=0) add+=b.charAt(j)-'0';
ans=(char)(add%2)+ans;
carry=add/2;
i--;
j--;
}
return ans;
}
}
# 1 楼答案
计算出要附加到结果字符串的值后,需要将二进制值(0,1,…)转换回字符('0','1',…)
这:
应该是这样的:
# 2 楼答案
嗯。解析两个
String
并添加值。以二进制数字的String
形式返回结果。我会把它变成一个static
方法。像产出(按要求)
# 3 楼答案
在另一个字符串部分的开头添加不正确。您需要使用
ans="" + (add%2) + ans;
https://ideone.com/sn709k