2012-09-08 76 views
0

從我上次編程開始已經8年了,然後它只是網絡學位的基礎知識。我正在編寫一個基本程序,以開始回到Java編程。該程序正在處理以字符串形式存儲的二進制數字。將字符數組中的特定字符與另一個字符交換java

例如01101110010

我有一切工作,但現在我想交換的所有「1」爲「0」,所有的「0」「1」

得到10010001101

問題是隻有我知道交換字符的方法是創建一個新的字符串與替換字符,但我一次只能做一個字符,然後我只是最後一串所有1 s或0 s

所以我想關於使用char數組並試圖交換數組中的每個char,但我不知道如何去做這件事。

+0

發佈您的代碼,也許有人可以提供幫助。 – bmargulies

回答

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); 
+0

非常感謝你的工作很棒 –

1

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

String str = "01101110010"; 
System.out.println(str.replace("1", "X").replace("0", "1").replace("X", "0")); 
2
String s = "01101110010".replace("0", "*").replace("1", "0").replace("*", "1"); 
相關問題