public class Test { public static int Xor(String a, String b) { String arg1 = String.valueOf(a); String arg2 = String.valueOf(b); if (arg1.length() != arg2.length()) { System.out.println("长度不同,请补齐位数"); return -1; } String result = ""; for (int i = 0; i < arg1.length(); i++) { if (arg1.charAt(i) != arg2.charAt(i)) { result += "1"; } else { result += "0"; } } return Integer.parseInt(result); } public static void main(String[] args) { System.out.println(Xor("111000","000111")); } }算法比较的一般,功能基本上是实现了。 输出是111111如果要000000就不是异或了……
int b=111;
int c=a^b;
System.out.println(a);
System.out.println(b);
System.out.println(c);
结果111095 明显不对!!!!!!!!!!!!
我希望得到000000;
String arg1 = String.valueOf(a);
String arg2 = String.valueOf(b);
if (arg1.length() != arg2.length()) {
System.out.println("长度不同,请补齐位数");
return -1;
}
String result = "";
for (int i = 0; i < arg1.length(); i++) {
if (arg1.charAt(i) != arg2.charAt(i)) {
result += "1";
} else {
result += "0";
}
}
return Integer.parseInt(result);
} public static void main(String[] args) {
System.out.println(Xor("111000","000111"));
}
}算法比较的一般,功能基本上是实现了。
输出是111111如果要000000就不是异或了……