java - 程序正在运行,但出现错误,字符串索引超出范围 : -1

标签 java

这是我在这里发表的第一篇文章,顺便说一句,我的老师给全类布置了一个编程作业,其中我们需要做一个回文程序,我能够做到,但我想摆脱这个错误,您能解释一下为什么会出现错误,以及如何消除它吗?

import java.io.*;

public class AssignmentInCopro 

{public static void main (String [] args) throws IOException
    {BufferedReader x = new BufferedReader(new InputStreamReader(System.in));

    String word = "";

    System.out.print("Please enter the word you want to see in reverse: ");
    word = x.readLine();

    int wordLength = word.length(); 

    while (wordLength >=0)
    {
    char letter = word.charAt(wordLength - 1);
    System.out.print(letter);
    wordLength--;
    }
    }
}

最佳答案

当循环包含索引零时会出现错误。如果 wordLength 为零,那么您将查找 charAt(-1) 并得到异常:

将代码更改为:

while (wordLength >0)

错误消失了。

关于java - 程序正在运行,但出现错误,字符串索引超出范围 : -1,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25708301/

相关文章:

java - 无法使用 Spring Boot 将日期时间保存到 MongoDB

java - 跨 .java 文件创建雷区实例

java - 如何解决ClassNotFoundException : com. beust.jcommander.ParameterException

java - Hibernate中的bag标签有什么用?

java - 一个 (log.isDebugEnabled()) 条件每个调试语句出现

Java2D : BufferedImage not accelerated on Ubuntu

java - 向其中删除/添加组件时,面板会展开

java - Apache Tomcat 日志记录默认权限

java - 使用 Java (apache commons io) 删除文件时出现问题

Java导入Excel数据到MySQL关于编码