首页 > 解决方案 > 当 Y 值大于 X 值时,二维数组的用户输入

问题描述

我的用户输入循环2d array如下所示:

        for(int i = 0; i < y; i++){
            for(int j = 0; j < x; j++){
                System.out.println("Enter the value");
                int value = s.nextInt();
                inArray[i][j] = value;
            }
        }

x 和 y 值是从用户导入的,用于构造arraysize = new int[y][x]

当 x 值大于 y 值时,它可以正常工作,但是当它的其他方式不输出正确的结果时

例如,当我输入 5x5 时,array我得到

1,2,3,4,5
6,7,8,9,1
2,3,4,5,6
7,8,9,1,2
3,4,5,6,7

但是如果我尝试 3x4array我会得到这个

1,2,34
5,6,78
9,1,23

值 34、78 和 23 应在其自己的列中分开,如下所示:

1,2,3,4
5,6,7,8
9,1,2,3

标签: javaarraysfor-loopmultidimensional-arrayuser-input

解决方案


你可以看看@下面的代码:

public class Laptop {


    public static void main(String[] args) {
        Scanner scan = new Scanner(System.in);
        int[][] inArray = new int[10][10];
        for(int i = 0; i < 3; i++){
            for(int j = 0; j < 5; j++){
                System.out.println("Enter the value");
                int value = scan.nextInt();
                inArray[i][j] = value;
            }
        }

        for(int i = 0; i < 3; i++){
            for(int j = 0; j < 5; j++){
                System.out.print(inArray[i][j] + " ");
            }
            System.out.println();
        }
    }
}

我得到的输出:

1 2 3 4 5 
6 7 8 9 10 
11 12 13 14 15 

推荐阅读