2 回答

TA贡献1818条经验 获得超7个赞
如果 Long 不足以满足您的用例,那么您可以使用BigInteger
BigInteger(String val, int radix);
它以字符串和基数作为参数。
BigInteger result = new BigInteger(inputs[0], 2);
for (int i = 1; i < inputs.length; i++) {
result = result.and(new BigInteger(inputs[i], 2));
}
String resultStr = result.toString(2);

TA贡献1806条经验 获得超5个赞
这是你的算法。这适用于任意数量的 ,Strings前提是所有Strings 的长度相同:
public static void main(String[] args) {
String a = "10110001";
String b = "01101101";
String c = "10101011";
String arr[] = new String[]{a, b, c};
String finalString = "";
for (int i = 0; i < arr[0].length(); i++) {
int temp = Integer.parseInt("" + arr[0].charAt(i));
for (int j = 1; j < arr.length; j++) {
temp = temp & Integer.parseInt("" + arr[j].charAt(i));
}
finalString += temp;
}
System.out.println(finalString);
}
输出/输出
00100001
添加回答
举报