You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用String在Java中反转数字?代码报StringIndexOutOfBoundsException求解决

问题分析与解决

异常原因

Java中字符串的索引从0开始,假设字符串长度为n,有效索引范围是0到n-1。你的循环初始值设为number.length(),此时该索引已超出字符串的有效索引范围,调用charAt(i)时必然抛出java.lang.StringIndexOutOfBoundsException。

修正后的代码

import java.util.Scanner;
public class Demo{

    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.print("Enter a number:- ");
        String number = sc.next();                      

        // 将初始i值改为number.length()-1,确保从最后一个有效索引开始遍历
        for (int i = number.length() - 1; i >= 0; i--) {    
            System.out.println(number.charAt(i));
        }

    }

}

额外说明

如果需要处理用户输入空字符串的场景(比如用户直接回车),可在循环前增加判断逻辑:

if (!number.isEmpty()) {
    // 执行反转遍历逻辑
} else {
    System.out.println("输入不能为空");
}

内容的提问来源于stack exchange,提问作者Bhushan Kadam

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.12 05:46:08