我在编译期间没有收到错误但是当我运行程序时我得到错误

时间:2017-10-02 05:03:12

标签: java

我在java中编写一个程序来计算常量和元音的数量,我收到此错误“线程中的异常”主“java.lang.StringIndexOutOfBoundsException:字符串索引超出范围:26         在java.lang.String.charAt(未知来源)         在B.main(B.java:17)“我该怎么办?

programcode

cmd output of code

2 个答案:

答案 0 :(得分:2)

在java字符串索引中从0开始。因此,您应该使用i < str.length()而不是i <= str.length()。 例如:

String str = "a really, really long string";
for (int i = 0; i < str.length(); i++) {
    char c = str.charAt(i);
}

并且不需要在java.lang包中导入类,因为默认情况下它们都已由jvm导入。

答案 1 :(得分:0)

从i = 0迭代循环到i&lt; str.length或i&lt; = str.length-1 由于str.length的最后一次迭代它超出了索引....因为str的长度是从0到length-1。

for (i=0;i<str.length;i++) {
    //TODO your code here.
}