Java:StringBuilder setCharAt工作不正常

Java:StringBuilder setCharAt工作不正常,java,stringbuilder,Java,Stringbuilder,所以我在做一个程序,每个字母的大小写都是颠倒的。如果您输入“Hello”,它将输出“Hello”。我知道我所做的一切都是行不通的,但我只是不太清楚为什么行不通 public static void main(String [] args){ Scanner keyboard = new Scanner(System.in); keyboard.useDelimiter(System.getProperty("line.separator")); char letter; c

所以我在做一个程序,每个字母的大小写都是颠倒的。如果您输入“Hello”,它将输出“Hello”。我知道我所做的一切都是行不通的,但我只是不太清楚为什么行不通

  public static void main(String [] args){

  Scanner keyboard = new Scanner(System.in);
  keyboard.useDelimiter(System.getProperty("line.separator"));
  char letter;
  char newLetter;

  String strLetter;
  System.out.print("Phrase: ");
  String phrase = keyboard.next();
  StringBuilder aWord = new StringBuilder(phrase);
  int wordLength = phrase.length();

  //loop through each letter
  for (int x = 0; x < wordLength; x++) {
     letter = phrase.charAt(x);

     //if letter is uppercase, set newLetter to lowercase and vice versa.
     if (Character.isUpperCase(letter)) {
        newLetter = Character.toLowerCase(letter);
     } else {
        newLetter = Character.toUpperCase(letter);
     }
     //When I print new letter here, it shows as the updated version
     //However, setCharAt is not actually updating, as seen by 
     //the "System.out.print(phrase);" line outside of the loop.
     aWord.setCharAt(x,newLetter);
     System.out.print(newLetter);
  }

  System.out.println();
  System.out.print(phrase);
  }
publicstaticvoidmain(字符串[]args){
扫描仪键盘=新扫描仪(System.in);
keyboard.useDelimiter(System.getProperty(“line.separator”);
字符字母;
新字母字符;
弦乐演奏器;
系统输出打印(“短语:”);
字符串短语=键盘.next();
StringBuilder aWord=新StringBuilder(短语);
int wordLength=phrase.length();
//循环阅读每个字母
for(int x=0;x
它确实可以工作,但最后您要在variable
phrase
中打印原始字符串,您可能想在variable
aWord

中打印转换后的字符串,它确实可以工作,但是在最后,您将在variable
短语中打印原始字符串,并且您可能希望在variable
aWord

中打印转换后的字符串,因此您正在构建
aWord
,但从未打印它。那么,您如何知道setCharAt不起作用?它是否更易于使用?因此您正在构建
aWord
,但从未打印它。那么你怎么知道setCharAt不起作用了?它不是更容易使用吗?就是这样!非常感谢。你可以猜到,这是我第一次玩弄StringBuilder。就是这样!非常感谢。您可以猜到,这是我第一次玩弄StringBuilder。