gpt4 book ai didi

java - 另一种方法中出现 "String Index out of Range"错误?

转载 作者:行者123 更新时间:2023-12-01 22:30:55 25 4
gpt4 key购买 nike

我在尝试反转字符串时遇到问题,其中显示“字符串索引超出范围”错误。感谢您的帮助,我将在下面留下代码和错误。

    public static void main(String[] args) {
System.out.println("Welcome to the Text Converter.");
System.out.println("Available Actions:");
System.out.println("\t1337) convert to 1337 speak");
System.out.println("\trev) reverse the string");
System.out.println("\tquit) exit the program");
System.out.println();
System.out.print("Please enter a string: ");
String userString;
String action;
Scanner scnr = new Scanner(System.in);
userString = scnr.nextLine();
System.out.print("Action (1337, rev, quit): ");
action = scnr.nextLine();
while (!action.equals("quit")) {
if (action.equals("rev")) {
actionReverse(userString);

}
if(action.equals("1337")) {
action1337(userString);
}
}
    public static String actionReverse(String userString) {
String newString = "";
for(int i=userString.length(); i>=0; --i) {
newString = newString + userString.charAt(i);

}


return newString;
}

错误消息:

线程“main”中出现异常java.lang.StringIndexOutOfBoundsException: 字符串索引超出范围:3 在 java.lang.String.charAt(String.java:658) 在 TextConverter.actionReverse(TextConverter.java:82) 在 TextConverter.main(TextConverter.java:19)

最佳答案

因为它说索引超出范围,所以你需要写for(int i=userString.length() - 1; i>=0; --i) 因为字符串是零索引的。

虽然我在传递,但我想提一下,这种字符串连接被认为非常慢,如果性能很重要,您应该使用 StringBuilder 进行字符串连接。

关于java - 另一种方法中出现 "String Index out of Range"错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58550105/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com