0

// Java:如何将一维字符串/整数数组表示为二维整数数组?我将衷心感谢您的帮助。

package intro;
public class ArrayTest{

    public static void main(String[] args) {

        int arr[][]= new int[4][4];   
        int month_days [] = {31,28,31,30,31,30,31,31,30,31,30,31,13,14,15,16};

        int size =4;
        //System.out.println(size);
        for (int i = 0, k = 0; i < size; i++, k++) {
            for(int j=0; j <size; j++){
                arr[i][j]= month_days[k++];

                //System.out.println(month_days[k++] + " ");
                System.out.print(arr[i][j] + " ");
            }

            System.out.println();
        }
    }
}
4

3 回答 3

5

你增加k得太频繁了。你在 for 循环和这里增加它:month_days[k++]
从 for 循环中删除增量:

for (int i = 0, k = 0; i < size; i++)
于 2013-09-28T00:22:54.583 回答
1

更改arr[i][j] = month_days[k++];arr[i][j] = month_days[k];

的每个实例都k++将 k 递增 1。目前,每次循环迭代都会将其递增两次for,因此在第 8 次迭代之后,它希望将第 17 个元素month_days[]放入in arr[][],但month_days[]没有那么多元素。

于 2013-09-28T00:23:27.537 回答
0

您已经在这一行中增加了“k”变量:month_days[k++];

你也不需要在这一行增加它: for (int i = 0, k = 0; i < size; i++, k++ ) {

基本上,每次循环运行时,您都会丢弃一个“k”值,这会使您在填充数组之前用完值。

于 2013-09-28T00:27:01.537 回答