在Java中反转字符

时间:2014-05-03 09:00:35

标签: java

我正在学习使用Java编程101,我真的很担心这个任务:

"创建一个程序,询问用户的姓名并以相反的顺序打印。您无需为此创建单独的方法。

输入你的名字:保罗 以相反的顺序:luaP

输入你的名字:凯瑟琳 按相反的顺序:enirehtaC"

我无法弄清楚为什么我的代码会给出错误的结果。这是我到目前为止的代码:

import java.util.Scanner;

public class ReversingName {
    public static void main(String[] args) {
        Scanner reader = new Scanner(System.in);

    System.out.println("Type a name:");
    String name = reader.nextLine();


    int i = name.length();

    while (i > 0){
        char character = name.charAt(i);
        System.out.print(character);
        i--;
    }

}

}

2 个答案:

答案 0 :(得分:1)

你的最后一个字符不是string.length而是string.length - 1

int i = name.length() - 1; // you forgot the -1

while (i >= 0) // and the equal sign must be there because if its not you are missing the first letter
{
    char character = name.charAt(i);
    System.out.print(character);
    i--;
}

答案 1 :(得分:1)

与使用StringBuilder的reverse()方法的Reverse each individual word of "Hello World" string with Java相关。