gpt4 book ai didi

java - 在Java中反转文本

转载 作者:行者123 更新时间:2023-12-01 17:56:23 27 4
gpt4 key购买 nike

我试图在 Java 中反转字符串,但运行时出现我不明白的错误:

"Exception in thread "main" java.lang.StringIndexOutOfBoundsException: String index out of range: 3
at java.lang.String.charAt(String.java:658)
at ReversingText.reverse(ReversingText.java:13)
at ReversingText.main(ReversingText.java:27)"

这是我的代码:

import java.util.Scanner;

public class ReversingText {

public static String reverse(String text) {
int i = (text.length() - 1);

String letter = "";

while (i >= 0) {

char character = letter.charAt(i);

letter += character;
i--;

}

return letter;
}

public static void main(String[] args) {
Scanner reader = new Scanner(System.in);
System.out.print("Type in your text: ");
String text = reader.nextLine();
System.out.println("In reverse order: " + reverse(text));
}

}

不确定问题出在哪里,因为我认为索引从 0 开始,所以我将字符串的长度减少 1 来找到索引?

感谢您的帮助

最佳答案

问题是您正在尝试获取变量letter的字符(它以空字符串开头,因此没有长度,因此没有有效的索引)而不是text:

char character = letter.charAt(i);

试试这个:

char character = text.charAt(i);

关于java - 在Java中反转文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44466127/

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