0

我上次编程已经 8 年了,那时它只是网络学位的基础知识。我正在编写一个基本程序,以开始重新进入 java 编程。该程序正在处理存储为字符串的二进制数。

例如01101110010

我已经完成了所有其他工作,但现在我想将所有“1”换成“0”,将所有“0”换成“1”

要得到10010001101

问题是我知道交换字符的唯一方法是创建一个替换字符的新字符串,但我一次只能做一个字符,然后我最终得到一个所有1s 或0s的字符串

所以我考虑过使用 char 数组并尝试交换数组中的每个 char,但我不知道该怎么做。

4

3 回答 3

2
String s = "01101110010".replace("0", "*").replace("1", "0").replace("*", "1");
于 2012-09-08T13:57:39.833 回答
1

如果您使用的方法是开放的,您可以使用String.replace()

String str = "01101110010";
System.out.println(str.replace("1", "X").replace("0", "1").replace("X", "0"));
于 2012-09-08T13:56:50.160 回答
1
String str = "0101010101110";
char[] cs = str.toCharArray();
for (int i = 0; i < cs.length; i++)
{
    if (cs[i] == '1')
        cs[i] = '0';
    else if (cs[i] == '0')
        cs[i] = '1';
}
str = new String(cs);
于 2012-09-08T13:57:22.680 回答