提问人:apcsa2023student 提问时间:9/17/2023 更新时间:9/17/2023 访问量:40
StringIndexOutOfBoundsException 在我的 AP 计算机科学 A 作业中
StringIndexOutOfBoundsException on my assignment for AP Computer Science A
问:
我正在为我的 AP 计算机科学 A 课程做作业 (java),我必须以相反的顺序组合成按字母交替的字符串。例如,球囊和萎缩输出 ynhopoolrltaab。但是,我不断收到此错误消息。谁能帮忙?这是我的代码:
我正在使用 for 循环,因为这是我现在在课堂上上课的主要思想,但无论我在括号内尝试什么,我仍然会收到相同的错误。
答:
0赞
J Willis
9/17/2023
#1
出现此特定错误的原因是,您将变量 i 设置为两个输入字符串的长度之和,这导致 substring 方法尝试访问超出任一输入字符串长度的索引。
要解决此错误,请将 i 设置为仅等于其中一个输入字符串的长度。
评论
0赞
apcsa2023student
9/18/2023
非常感谢,这对我帮助很大!
-1赞
Reilas
9/17/2023
#2
"...但是,我不断收到此错误消息。谁能帮忙?这是我的代码:
我正在使用 for 循环,因为这是我现在在课堂上上课的主要思想,但无论我在括号内尝试什么,我仍然会收到相同的错误。..."
迭代一个单词的长度。
两个 String 值的 i 值相同。
下面是一个示例。
StringBuilder a, b, s = new StringBuilder();
a = new StringBuilder("atrophy").reverse();
b = new StringBuilder("balloon").reverse();
for (int i = 0, n = a.length(); i < n; i++)
s.append(a.charAt(i)).append(b.charAt(i));
输出
ynhopoolrltaab
以下是 Java 教程的链接。
评论
1赞
apcsa2023student
9/18/2023
现在这更有意义了,感谢您的教程!
评论
for
i
substring()