我正在学习使用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--;
}
}
}
答案 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相关。