Java中的字符串字反转给出了错误的结果?

kha*_*nam 7 java string reverse

这是我的代码,在不使用任何API的情况下打印在Java中反转的字符串字符.但它没有正常工作.任何人都可以帮我纠正吗?

public static void main(String args[]) {
    String input = "I am test";
    String result = "";
    for (int i = input.length() - 1; i > 0; i--) {
        Character c = input.charAt(i);
        if (c != ' ') {
            result = c + result;
        } else {
            System.out.println(result + " ");
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

它输出"test amtest",输出应该是"test am I".

请帮助我在不使用预定义方法或API的情况下获得准确的输出.

das*_*ght 14

您的实施有四个问题:

  • 你不要一直到零,
  • 你在循环中的每个打印输出后放置一行结束,
  • 循环结束后,您不打印"尾部"结果,并且
  • result在循环中打印后不会清除.

修复这些问题将为您提供正确的输出(演示).