Как бы я поменять 2 буквы в строке Java с помощью toCharArray ()? - PullRequest
0 голосов
/ 18 сентября 2018

Я хочу, чтобы ab было возвращено как ba, но мой вывод a a.Я понимаю, почему я получаю этот вывод.Если a[i] < a[j] (если 1-й индекс <2-й индекс, что верно, потому что a <b, то заменить b (<code>a[j]) на (a[i])).

Я просто не могу обернуть своюобдумайте, как мне поменять местами эти две буквы с массивами.

Как бы я смог это сделать?

public static void solution(String A) {
    char[] a = A.toCharArray();

    for(int i = 0; i < a.length; i++) {
        for(int j = i + 1; j < a.length; j++) {
            if(a[i] < a[j]) {
                a[j] = a[i];
            }
        }
    }

    for(int i = 0; i < a.length; i++) {
        System.out.print(a[i] + " ");
    }
}

public static void main(String args[]) {
    String A = "ab";

    solution(A);
}

Ответы [ 2 ]

0 голосов
/ 18 сентября 2018

вы действительно хотите создать временную таблицу для хранения вашего персонажа, НО, если вы пытаетесь написать меньше кода и не заботитесь о производительности, вы можете даже просто перевернуть строку в вашем случае вместо использования toCharArray, используяпакет Java StringBuilder

    import java.lang.*;

    StringBuilder input = new StringBuilder;
    input.append(A);
    input = input.reverse();
    System.out.print(input);
0 голосов
/ 18 сентября 2018

Вы можете использовать временную переменную и поместить в нее a[j], затем переопределить a[j] с помощью a[i] и, наконец, переопределить a[i] со старым значением a[j], которое вы сохранили во временной переменной:

if (a[i] < a[j]) {
    char temp = a[j];
    a[j] = a[i];
    a[i] = temp;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...