所以通过标题,我试图将字符从一个值翻转到相反的值。例如, - 将变为+,+将变为负数。这些是目前唯一的2个值,但我想知道我应该怎么做。到目前为止我有这个
public static String flip(String s, int index) {
System.out.print("suuuh");
String k = s;
ArrayList<Character> array = new ArrayList<>();
for (Character c : k.toCharArray()) {
array.add(c);
System.out.print(c);
}
for (int i = 0; i > index; i++) {
if (array.get(i) == '-') {
array.set(i, '+');
} else {
array.set(i, '+');
}
}
StringBuilder builder = new StringBuilder();
for (Character c : array) {
builder.append(c.toString());
}
return builder.toString();
}
但它不会将+翻转到 - 或反之亦然。
答案 0 :(得分:1)
您的基本方法是正确的,但我建议使用HashMap
存储对立面。
你的代码什么也不做的原因是因为
for (int i = 0; i > index; i++) {
应该是别的东西,可能是
for (int i = 0; i < array.size(); i++) {
此刻,循环立即终止。
此外,else
应为
array.set(i, '-');
另一个改进是使用List<Character>
没有意义;您可以直接使用char
返回的toCharArray()
。