0

最後にプログラミングしてから 8 年が経ちましたが、それはネットワーキングの学位取得のための基礎に過ぎませんでした。Javaプログラミングに戻るための基本的なプログラムを書いています。プログラムは、文字列として格納された 2 進数を処理しています。

例えば01101110010

他のすべてが機能していますが、すべての「1」を「0」に、すべての「0」を「1」に交換したいと考えています。

取得するため10010001101

1問題は、文字を交換する唯一の方法は、文字を置き換えて新しい文字列を作成することですが、一度に1つの文字しか実行できず、すべての文字列または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 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 に答える
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 に答える