我正在用for循环和while循环编写一个简单的程序,出现了一个ArrayIndexOutOfBoundsException
。
这是我的密码:
public class ForWhileLoops
{
public static void main(String[] args)
{
int[] mary = new int[30];
for(int a = 0; a < 31; a++)
{
mary[a]= a*3;
}
for(int b = 0; b < 31; b++)
{
System.out.println(mary);
}
int c = 0;
while(c < 31)
{
c++;
System.out.println(c);
}
}
}
下面是发生的错误:
java.lang.ArrayIndexOutOfBoundsException: 30
at ForWhileLoops.main(ForWhileLoops.java:9)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at edu.rice.cs.drjava.model.compiler.JavacCompiler.runCommand(JavacCompiler.java:272)
ArrayList中只有30个空间(索引0到29)。索引31无法创建。
int[] mary = new int[30];
数组从0
开始索引。
因此,int[30]
数组将具有从0
到29
for(int a=0;a
在上一次迭代中,您正在访问超出数组边界的
mary[30]
。
将其替换为
for(int a=0;a
使用此解决方案,如果您更改数组的大小,则不必更改
循环的
使用
for int(a = 0; a < mary.length; a++) {
...
}
玛丽。长度为30。
你的数组有30个元素长。但是,第一个元素是0,使29成为最后一个元素。
实现一个以整数为参数的静态方法,使用Math类计算给定整数的整数平方根。如果整数为负数,则取其正数的平方根,然后返回结果的负数,表示它是一个虚数 我一直在尝试,一直到这里
任何人都可以帮助我解决这个问题AndroidManifest.xml mainactivity.kt
错误-mssql08(系统找不到指定的文件)java.io.FileNotFoundException:mssql08(系统找不到指定的文件)在java.io.FileInputStream.Open0(本机方法)
问题内容: 我在下一行出现错误。我正在做添加到jsonarray的过程。请帮我。 问题答案: 这是我在重新编程时经常遇到的错误。此异常的原因或细节非常清楚。不允许在迭代时修改集合(正在添加新元素)。至少不支持语法。 为了解决您的问题,我认为有两种方法很简单。 1)。而不是使用语句来循环,更好的方法是使用迭代器来避免ConcurrentModificationException。 2)。在循环播放时
问题内容: 我是 JSON 文档的初学者,这是我的代码,因此请帮助我解决此错误。 问题答案: 错误消息告诉您在字符串文字中包含控制字符,例如,字符代码8或10或13或任何小于32(空格)的字符。 该JSON定义告诉我们,你不能在字符串字面控制字符,则必须使用转义序列,如,,,或在那里是一个Unicode“码点”十六进制代码(字符)。 因此,例如,假设以下内容位于文件(或其他数据流)中: 那是无效的