Java Binärcode invertieren?
In Java Zeichenkette(String) Ziffernfolge invertiert?
Also 0->1 und 1->0
3 Antworten
![](https://images.gutefrage.net/media/default/user/11_nmmslarge.png?v=1551279448000)
Es gibt ne replace Methode für Strings. Dieser Methode musst du einfach nur ein Zeichen übergeben und das Zeichen angeben, durch das ersetzt werden soll.
z.B.
String binaerzahl="1011010";
String invertiert=binaerzahl.replace("0", "2").replace("1","0").replace("2", "1");
System.out.println(invertiert);
![](https://images.gutefrage.net/media/default/user/11_nmmslarge.png?v=1551279448000)
Hab ich gerade auch gemerkt als ich es laufen lies. Man muss zuerst die 0 durch 2 ersetzen, dann die 1 durch 0 und am Ende die 2 durch 1 dann passt es.
![](https://images.gutefrage.net/media/user/Dultus/1719823117497_nmmslarge__0_0_450_450_9e1367268a0c3376f63d5823c5a4b995.png?v=1719823118000)
![](https://images.gutefrage.net/media/user/Dultus/1719823117497_nmmslarge__0_0_450_450_9e1367268a0c3376f63d5823c5a4b995.png?v=1719823118000)
string strNeueKette = "";
foreach (char bin in input)
if (bin == '0')
strNeueKette += "1";
else if (bin == '1')
strNeueKette += "0";
So würde ich es machen.
Also via Foreach durch deinen Bitcode iterieren und dann das Zeichen umdrehen und zu einem neuen String hinzufügen.
LG
![](https://images.gutefrage.net/media/user/FaTech/1708715131049_nmmslarge__0_0_500_500_77a0f43d5804c908f40c8a1b0c260400.png?v=1708715131000)
Wenn ich dein Vorhaben richtig verstehe würde ich da einfach ein simples replaces rüber jagen. Erstmal können wir nicht 1 durch 0 replacen, weil wir dann nur noch 0 haben und keine 1 mehr. Also würde ich 1 zu 2 machen oder so, dann 0 zu 1 und dann 2 zu 0. Dann wären alle nullen eine 1 und umgekehrt
Das läuft leider nicht - du ersetzt alle 0en durch 1en und dann wieder zu 0en. Am Schluss hast du dann in diesem Falle nur noch "0000000".