Java编程异常

标签 java exception

有人可以帮我吗?我不明白这个异常:

Exception in thread "main" java.lang.StringIndexOutOfBoundsException: String index out of range: 9
    at java.lang.String.charAt(Unknown Source)
    at charPerLine.main(charPerLine.java:13)

这是负责的代码:

import java.util.*;
public class charPerLine {

    public static void main(String[] args)throws StringIndexOutOfBoundsException {
        Scanner sc=new Scanner(System.in);
        System.out.print("Type any name:");
        String s=sc.next();
        int j= s.length()+1;
        for(int i=0;i<=j;i++){
            System.out.println(s.charAt(i));
        }
    }
}

最佳答案

您正在尝试直接访问少于 10 个字符的字符串的第 10 个字符。像这样的东西:

"12345".charAt(9)

请记住,字符串索引是从 0 开始的,因此 .charAt(9) => 第 10 个字符。因此 "123".charAt(3) 也会抛出异常。

关于Java编程异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5209548/

相关文章:

java - 如何使用java在selenium中输入日历中的特定日期(链接)

java - 为什么Java中的运行时异常是 "unchecked"?

c++ - 无法从 main.cpp 中的共享库捕获异常

java - 如何中断 Java 中的一系列程序?

Python 2.7 异常处理语法

Java - 引用 "to be resolved later"

java - 在 JOptionPane 中使用 HTML 标签

java - 来自 ant 在 linux 中构建的 java 类的数据库

ruby - 如何重构此Ruby代码以检查有效参数?

javascript - 复杂 promise 返回链中的 promise catch() 顺序