如何使用toCharArray()在Java字符串中交换2个字母?

时间:2018-09-18 14:51:14

标签: java string algorithm debugging swap

我希望将import random print ("Guess a random number between 1 and 10") number = random.randint(1,10) guessTaken = 0 wrong = True print (number) guess = int( input()) while guessTaken < 6: #Maximum guesses are 6 if guess != number: print ("Wrong!, guess again") guess = int( input()) else: print ("Correct") break #remember to put break when found correct number guessTaken += 1 if guessTaken == 6: print ("Maximum guessed") 作为ab返回,但我的输出是ba。我明白为什么我得到了这个输出。如果a a(如果第一索引<2nd索引,这是正确的,因为a a[i] < a[j]替换b(a[j]))。

我只是无法确定如何将这两个字母与数组交换。

我怎么能做到这一点?

a[i]

2 个答案:

答案 0 :(得分:3)

您可以使用临时变量并将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;
}

答案 1 :(得分:1)

您真的想创建一个临时存储字符,但是,如果您想编写更少的代码并且不关心性能,甚至可以根据情况反转字符串,而不是使用toCharArray, java的StringBuilder包

    import java.lang.*;

    StringBuilder input = new StringBuilder;
    input.append(A);
    input = input.reverse();
    System.out.print(input);