如何通过输入更改2d数组?

时间:2012-09-22 22:34:04

标签: java arrays 2d

我有一个包含5行和5列的2D数组,所有这些都填充了值0.如何让我的程序执行此操作:

  
    
        
  1. 输入行和列的任意随机组合,如2-5,不带[]括号。只需键入2-5就足以让我的程序理解我的意思是第2栏第5列

  2.     
  3. 分配我在行列组合中输入到所述数组的值。

  4.        

这是我到目前为止所得到的。如您所见,我只设法输出所有数组元素的值。

import java.util.*;

public class stink {

    public static void main(String[]args){
        int[][] kuk = new int[5][5];
        printMatrix(kuk);
    }

    public static void printMatrix(int[][] matrix)
    {
        for (int row = 0; row < matrix.length; row++)
        {
            for (int col = 0; col < matrix[row].length; col++)
                System.out.printf("%2d", matrix[row][col]);
            System.out.println();
        }
    }
}

2 个答案:

答案 0 :(得分:2)

您应该使用java API中的Scanner类来获取用户的输入,如下面的代码所示。 使用分隔符传递输入,就像你想让2X3数组传递像2-3一样,其中' - '是分隔符。 这里是String scanner java API的链接。

        Scanner sc = new Scanner(System.in);
    System.out.println("please enter two numbers");
    String inputs = sc.next();
    int a=Integer.valueOf(inputs.split("-")[0]);
    int b=Integer.valueOf(inputs.split("-")[1]);;
    System.out.println(a + " " + b);
    int[][] x = new int[a][b];
    System.out.println(x.length);

答案 1 :(得分:0)

这不是复制/粘贴就绪答案,但至少应该告诉您如何处理这个问题。

        int rows = 0;
        int columns = 0;
        Scanner scan = new Scanner(System.in);
        System.out.println("Rows: ");
        rows = scan.nextInt();
        System.out.println("Columns: ");
        columns = scan.nextInt();           
        int[][] kuk = new int[rows][columns];