java数组如何循环添加元素

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java数组如何循环添加元素相关的知识,希望对你有一定的参考价值。

我定义一个int类型的数组,长度是五 int[] Arr1 = new int[5];
然后随便定义五个int类型的变量,把这五个元素添加到数组里面。手动添加一般是Arr1[0] = 1;这样子,如何用一个for循环把1~5这五个数放入数组呢?请指教,谢谢。

java数组循环添加元素,实例如下:

public class ceshi 
public static void main(String[] args) throws Exception 
int[] intArray = new int[10];//新建一个int类型数组
for (int i = 0; i < 9; i++) 
intArray[i] = i;
System.out.println("循环给int数组赋值,打印出来的值为  " + intArray[i]);




运行结果为:

参考技术A 一种方法
for(int i=0;i<Arr1.length;i++) //Arr1.length为数组的长度

Array[i]=i+1; //这里每个下标比元素值小1;


二种方法,另定义一个int 数

int j = 1;
for(int i=0;i<Arr1.length;i++)
a[i] = j ++;


注意,如果一开始定义:
int j = 0;

那么方法体为:
for(int i=0;i<Arr1.length;i++)
a[i]=++j;


++j是先增一后计算,j++是先计算再增一
参考技术B public static void main(String[] args)
int a=9;
int b=5;
int c=2;
int d=7;
int []sult=new int[4];
for(int i=0;i<sult.length;i++)

switch(i)

case 0:
sult[i]=a;
continue;
case 1:
sult[i]=b;
continue;
case 2:
sult[i]=c;
continue;
case 3:
sult[i]=d;
continue;
default:System.out.println("有问题");


System.out.print("你要的结果是:");
for(int i=0;i<sult.length;i++)

System.out.print(sult[i]);




按照要求做的,但是把简单问题复杂化了!本回答被提问者采纳
参考技术C for(int i=0;i<Arr1.length;i++)

Array[i]=i+1;

这样就可以了....很简单。
参考技术D 用循环的话你的变量要有一定的规律才行啊,要不怎么能找到每个相应的变量。
比如:int0,int1,int2...

如何使用 Java 中的循环在 3D 数组中添加元素?

【中文标题】如何使用 Java 中的循环在 3D 数组中添加元素?【英文标题】:How can I add elements in a 3D array using loops in Java? 【发布时间】:2017-01-27 00:06:30 【问题描述】:

我知道如何在 2D 数组中添加元素,但由于某种原因,我的 3D 数组无法正常工作,我做错了吗?

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

        for (int j = 0; j < COLUMNS; j++)

            for (int k = 1; k < IN; k++)
                myArray [i][j][k] = i + 10;
            
        

    

我有这样的数组 myArray = new int [COLUMNS][ROWS][IN];是对的吗?因为它应该像 array = 1,2,3,4,5,6,7,8,9;

【问题讨论】:

为什么你的 k 循环从 1 开始,而不是像其他的那样从 0 开始? 怎么了?提供更多细节、更多代码或解释会发生什么? @DM 因为我希望添加的第一个元素是 1 @Piotrowy 喜欢将此作为输出 0,10,10Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 3 at ExerciseThree.printArrayStatement(ExerciseThree.java:117) at ExerciseOne。 main(ExerciseOne.java:12) myArray = new int [COLUMNS][ROWS][IN]; - 如果这是你的声明,那么i 应该可能转到COLUMNSj 应该可能转到ROWS 【参考方案1】:

这与创建 2D 数组没有什么不同。

    // creating 3D array
    int[][][] myArray = new int[r][c][n];
    for (int i=0; i<r; i++)
        for (int j=0; j<c; j++)
            for (int k=0; k<n; k++)
                myArray[i][j][k] = i + 10;
            
        
    

【讨论】:

【参考方案2】:

如果这是您的数组:1, 2, 3, 4, 5, 6, 7, 8, 9,那么您不需要 3D 数组,只需要一个 2D 数组。

上述数组的元素(您提供的)是:

myArray[0][0] // 1        myArray[0][1] // 2        myArray[0][2] // 3
myArray[1][0] // 4        myArray[1][1] // 5        myArray[1][2] // 6
myArray[2][0] // 7        myArray[2][1] // 8        myArray[2][2] // 9

相应地调整您的代码:

for (int i = 0; i < ROWS; i++)
    for (int j = 0; j < COLUMNS; j++)
        myArray[i][j] = i + 10;
    


在 3D 中执行此操作

如果您要处理一些 3D 数据,您只需在当前代码中添加另一个维度。数组得到另一个维度,我们添加另一个[]。 for 循环得到另一个维度,我们添加另一个嵌套循环。

也许我们正在跟踪 3D 网格中的值,因此我们将尺寸定义为网格的大小,如下所示:

int rows = 3;
int columns = 4;
int layers = 5;

我们像你说的那样声明我们的 3D 数组:

int[][][] my3dArray = new int[rows][columns][layers];

然后我们可以初始化这些值并开始使用我们的数组,就像您开始一样,只是这次我们不打算引用变量行和列。

相反,这次我们将引用数组的长度。这使我们的代码更加灵活。另一个程序/类可以创建一个 3d 数组并将其发送到我们的程序,即使我们事先不知道它们的网格大小(就像我们对我们的网格所做的那样),它仍然可以正常工作。

for (int i = 0; i < my3dArray.length; i++) 

    for (int j = 0; j < my3dArray[0].length; j++) 

        for (int k = 0; k < my3dArray[0][0].length; k++) 

            // I randomly picked some formula
            my3dArray[i][j][k] = i + j * 100 + k * 10000;

    


【讨论】:

我明白了,我已经添加到我的原始答案中,我认为这可能是您正在寻找的。如果有帮助,请告诉我! 感谢您的帮助:)【参考方案3】:

你为什么不推荐这个answer? 我希望这能帮助您解决问题。

【讨论】:

【参考方案4】:

这是你的代码,在 for 循环和正确的赋值 i*10 + j + k*80; 中切换了 'COLUMNS' 和 'ROWS'

public static int [][][] myArray = new int[][][];
public static final int ROWS = 8, COLUMNS = 10, IN = 3;
public ExerciseThree() 
    myArray = new int [ROWS][COLUMNS][IN];
    for (int i = 0; i < ROWS; i++)
        for (int j = 0; j < COLUMNS; j++)  
            for (int k = 0; k < IN; k++)
                myArray [i][j][k] = i*10 + j + k*80;
            
        
    
...

您在打印 3d 数组时也有错误。您应该在 103 和 115 行中将循环条件从 &lt;= 切换到 &lt;。但是这种方式更好:

for (int i = 0; i < ROWS; i++)
    System.out.print("");
    for (int j = 0; j < COLUMNS; j++)
        System.out.print("");  
        for (int k = 0; k < IN; k++)
            myArray [i][j][k] = i*10 + j + k*80;
            if (k < IN - 1) 
                System.out.print(",");
            
        
        System.out.print(",");
    
    System.out.print(",\n");

【讨论】:

@C.Ikongo 完整答案在这里。您可以将此答案标记为正确答案。

以上是关于java数组如何循环添加元素的主要内容,如果未能解决你的问题,请参考以下文章

java数组循环添加元素,讲的太清楚了

java数组添加元素,java数组如何添加一个元素

C#数组如何添加元素

java ArrayList数组中如何插入一个元素

Java 实例 – 数组添加元素

在forforeach循环体中添加数组元素