“线程中的异常”;“主要”;java.lang.StringIndexOutOfBoundsException:字符串索引超出范围:4

“线程中的异常”;“主要”;java.lang.StringIndexOutOfBoundsException:字符串索引超出范围:4,java,arrays,string,character,Java,Arrays,String,Character,当我输入Long 123456时出现此错误 Exception in thread "main" java.lang.StringIndexOutOfBoundsException: String index out of range: 4 at java.lang.String.charAt(Unknown Source) at thuchanh01.Baitap05.sumDigits(Baitap05.java:17) at thuchanh01.Baitap05.main(Baitap0

当我输入Long 123456时出现此错误

Exception in thread "main" java.lang.StringIndexOutOfBoundsException: String index out of range: 4
at java.lang.String.charAt(Unknown Source)
at thuchanh01.Baitap05.sumDigits(Baitap05.java:17)
at thuchanh01.Baitap05.main(Baitap05.java:31)
我的代码: (请注意,代码仍然完整,我已输入一些打印报表以供检查)

包装thuchanh01;
导入java.util.Scanner;
公共类Baitap05{
专用静态扫描仪输入;
公共静态整数和数字(长n)
{
字符串arrayN=Long.toString(n);//将Long转换为字符串
int len=arrayN.length();//字符串的长度
Character[]数组=新字符[len];//使用length=length字符串创建字符数组
整数和=0;

for(int i=0;i
for(int i=0;i
for(int i=0;i数组的有效索引范围从
0
len-1
,但是
for
循环尝试使用与
len
相等的索引

for(int i = 0; i<=len; i++)

数组的有效索引范围从
0
len-1
,但是
for
循环尝试使用与
len
相等的索引

for(int i = 0; i<=len; i++)

循环的
应为:

for (int i = 0; i < len; i++) {
for(int i=0;i
而不是

for (int i = 0; i <= len; i++) {

for(int i=0;ifor
循环的
for应该是:

for (int i = 0; i < len; i++) {
for(int i=0;i
而不是

for (int i = 0; i <= len; i++) {

for(int i=0;i但我正在尝试计算总数234,这意味着2+3+4=9,但返回的结果是153。这是错误的吗?我修改了我的答案;您添加了Unicode(或ASCII)数字的值,而不是数字的值。但我正在尝试计算总数234,这意味着2+3+4=9,但返回的结果是153。这是错误的吗?我已经修改了我的答案;您添加的是数字的Unicode(或ASCII)值,而不是数字的数值。
for (int i = 0; i <= len; i++) {