2012-09-08 32 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"); 
相关问题