求:
String s1 = “11”;
String s2 = “1”;
计算结果: 100
简单实现
public static void main(String[] args) {
String x = "111001";
String y = "1101";
char[] xc = x.toCharArray();
char[] yc = y.toCharArray();
char[] ycc = new char[xc.length];
for (int i = 0; i < xc.length; i++) {
ycc[i] = '0';
}
for (int i = 0; i < yc.length; i++) {
ycc[xc.length-yc.length + i] = yc[i];
}
char[] result = new char[xc.length + 1];
for (int i = 0; i < result.length; i++) {
result[i] = '0';
}
for (int i = xc.length - 1; i >= 0 ; i--) {
if (Integer.parseInt(String.valueOf(xc[i])) + Integer.parseInt(String.valueOf(ycc[i])) + Integer.parseInt(String.valueOf(result[i+1])) == 3) {
result[i+1] = '1';
result[i] = '1';
} else if (Integer.parseInt(String.valueOf(xc[i])) + Integer.parseInt(String.valueOf(ycc[i])) + Integer.parseInt(String.valueOf(result[i+1])) == 2) {
result[i+1] = '0';
result[i] = '1';
}else if (Integer.parseInt(String.valueOf(xc[i])) + Integer.parseInt(String.valueOf(ycc[i])) + Integer.parseInt(String.valueOf(result[i+1])) == 1) {
result[i+1] = '1';
}else if (Integer.parseInt(String.valueOf(xc[i])) + Integer.parseInt(String.valueOf(ycc[i])) + Integer.parseInt(String.valueOf(result[i+1])) == 0) {
result[i+1] = '0';
}
}
System.out.println(Arrays.toString(result));
}