Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/400.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java-创建具有索引长度的数组_Java_Arrays - Fatal编程技术网

Java-创建具有索引长度的数组

Java-创建具有索引长度的数组,java,arrays,Java,Arrays,我正在尝试用Java创建一个数组,它可以容纳索引“I”很大时的数字 for (int i = 0; i <= 10; i++) { int[] zahlenListe = new int[i]; zahlenListe[i] = i + 5; System.out.println(zahlenListe[i]); } 为此: int[] zahlenListe = new int[11]; 有人想解释错误在哪里吗?长度为

我正在尝试用Java创建一个数组,它可以容纳索引“I”很大时的数字

for (int i = 0; i <= 10; i++)
    {
        int[] zahlenListe = new int[i];
        zahlenListe[i] = i + 5;
        System.out.println(zahlenListe[i]);

    }
为此:

int[] zahlenListe = new int[11];
有人想解释错误在哪里吗?

长度为i的数组没有i'th索引。有效索引从0到i-1

如果使用int[]zahlenListe=new int[i+1];;初始化数组;,您可以为ZahlenList[i]赋值。

长度为i的数组没有第i个索引。有效索引从0到i-1


如果使用int[]zahlenListe=new int[i+1];;初始化数组;,您可以为ZahlenList[i]赋值。

数组索引是以零为基础的。因此,i大小数组的最大索引是i-1。

数组索引是以零为基础的。因此,i大小数组的最大索引为i-1

数组从索引0开始

所以索引i永远不会在i维数组中。它停在i-1

对于i==0,数组为空,没有任何条目

您可能希望在i=1时开始循环

从您的代码中也不清楚为什么需要一个数组,但您可能有更多的代码在那里,您没有显示出来

数组从索引0开始

所以索引i永远不会在i维数组中。它停在i-1

对于i==0,数组为空,没有任何条目

您可能希望在i=1时开始循环


从您的代码中也不清楚您为什么需要一个数组,但您可能有更多的代码没有显示出来。

如果您使用以下方法创建数组:

int[] zahlenListe = new int[i];
数组zahlenListe中的最后一个元素是zahlenListe[i-1],而不是zahlenListe[i]。此外,假设我应该以1而不是0开始,因为长度数组是无意义的

因此,使用

zahlenListe[i-1] = i + 5;
System.out.println(zahlenListe[i-1]);

如果使用以下方法创建阵列:

int[] zahlenListe = new int[i];
数组zahlenListe中的最后一个元素是zahlenListe[i-1],而不是zahlenListe[i]。此外,假设我应该以1而不是0开始,因为长度数组是无意义的

因此,使用

zahlenListe[i-1] = i + 5;
System.out.println(zahlenListe[i-1]);
如您所见,您需要在数组中从0开始到大小-1

int[] zahlenListe = new int[i];
您的数组大小始终为i,这意味着您可以访问最大i-1

假设i始终大于0,则需要在数组中从0开始到大小-1,如您所见

int[] zahlenListe = new int[i];
您的数组大小始终为i,这意味着您可以访问最大i-1


假设我总是大于0,基本上是因为在你的情况下,你告诉计算机转到第11个元素。这样想吧

int i = 0; 

First iteration i = 0
if i <= 10; then i = i + 1

Second iteration i = 1
if i <= 10; then i = i + 1

Third iteration i = 2
if i <= 10; then i = i + 1

Fourth iteration i = 3
if i <= 10; then i = i + 1

Fifth iteration i = 4
if i <= 10; then i = i + 1

Sixth iteration i = 5
if i <= 10; then i = i + 1

Seventh iteration i = 6
if i <= 10; then i = i + 1

Eighth iteration i = 7
if i <= 10; then i = i + 1

Ninth iteration i = 8
if i <= 10; then i = i + 1

Tenth iteration i = 9
if i <= 10; then i = i + 1

Eleventh iteration i = 10
if i <= 10; then i = i + 1

一旦您到达这里,您将尝试访问一个不存在的元素。因为你的条件是,只要我小于或等于10,它就应该重复这个任务。如果你改变基本上是因为在你的情况下,你告诉计算机去第11个元素。这样想吧

int i = 0; 

First iteration i = 0
if i <= 10; then i = i + 1

Second iteration i = 1
if i <= 10; then i = i + 1

Third iteration i = 2
if i <= 10; then i = i + 1

Fourth iteration i = 3
if i <= 10; then i = i + 1

Fifth iteration i = 4
if i <= 10; then i = i + 1

Sixth iteration i = 5
if i <= 10; then i = i + 1

Seventh iteration i = 6
if i <= 10; then i = i + 1

Eighth iteration i = 7
if i <= 10; then i = i + 1

Ninth iteration i = 8
if i <= 10; then i = i + 1

Tenth iteration i = 9
if i <= 10; then i = i + 1

Eleventh iteration i = 10
if i <= 10; then i = i + 1

一旦您到达这里,您将尝试访问一个不存在的元素。因为你的条件是,只要我小于或等于10,它就应该重复这个任务。如果你在看到一个打字错误和一个编辑后改变了,我必须注意,如果技术上下文是indices@Arc676由老派编辑并跟进:@sᴜʀᴇsʜᴀᴛᴛᴀ 索引和索引都是有效的英语,但索引更多地用于技术上下文,所有db文档都将其称为indexes@SleimanJneidi这两种方法都是有效的,而且发音时消耗的热量更少。试试看;在看到一个打字错误和一个编辑之后,我必须注意,如果技术上下文是indices@Arc676由老派编辑并跟进:@sᴜʀᴇsʜᴀᴛᴛᴀ 索引和索引都是有效的英语,但索引更多地用于技术上下文,所有db文档都将其称为indexes@SleimanJneidi这两种方法都是有效的,而且发音时消耗的热量更少。试试看;第十一次迭代不是一个问题,至少不比第一次多。不确定你的意思,解释一下!当i==0时,当前代码在其第一次迭代中崩溃。如果你解决了这个问题,它也将适用于i==10。第十一次迭代不是问题,至少不比第一次多。不确定你的意思,解释一下!当i==0时,当前代码在其第一次迭代中崩溃。如果您解决了这个问题,它也将适用于i==10。