翻转java中的字符

时间:2016-04-09 23:50:11

标签: java

所以通过标题,我试图将字符从一个值翻转到相反的值。例如, - 将变为+,+将变为负数。这些是目前唯一的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();
}

但它不会将+翻转到 - 或反之亦然。

1 个答案:

答案 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()