因此,根据标题,我试图将字符从一个值翻转到相反的值。例如,-将变为+,+将变为负。这是目前仅有的两个值,但我想知道该如何处理。到目前为止,我有这个
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();
}
但它不会将+翻转为-,反之亦然。
您的基本方法是正确的,尽管我建议使用HashMap
来存储对立面。
你的代码什么都不做的原因是因为
for (int i = 0; i > index; i++) {
应该是其他东西,可能是
for (int i = 0; i < array.size(); i++) {
此时,循环将立即终止。
此外,else
应为
array.set(i, '-');
另一个改进是使用List<Character>
对此没有意义;您可以直接使用toCharArray()
返回的char
。