首页 > 解决方案 > 使用扫描仪通过用户输入创建的 Junit 测试阵列

问题描述

以下代码基本上使用用户输入(例如行数和列数)创建一个矩阵,然后请求将填充二维数组的数据。我正在努力寻找一种方法来对这些方法进行junit测试。

任何帮助将不胜感激。

public static void main(String[] args) {
    Scanner scan = new Scanner(System.in);

        System.out.println("Enter Rows");

        int Rows = scan.nextInt();

        System.out.println("Enter Columns");

        int Columns = scan.nextInt();

        //defining 2D array to hold matrix data
        int[][] matrix = new int[Row][Columns];
        // Enter Matrix Data
        creatematrix(scan, matrix, Rows, Columns);

        // Print Matrix Data
        printMatrix(matrix, Rows, matrixCol);
  }

这种方法基本上接受用户输入并根据指定的行数和列数创建一个矩阵

public static void creatematrix(Scanner scan, int[][] matrix, int Rows, int Columns){
     System.out.println("Enter Matrix Data");

          for (int i = 0; i < matrixRow; i++)
          {
              for (int j = 0; j < Columns; j++)
              {
                  matrix[i][j] = scan.nextInt();
              }
          }
  }

最后一种方法将矩阵打印到控制台上

public static void printMatrix(int[][] matrix, int Rows, int Columns){
    System.out.println("Your Matrix is : ");

        for (int i = 0; i < Rows; i++)
        {
            for (int j = 0; j < matrixCol; j++)
            {
                System.out.print(matrix[i][j]+"\t");
            }

            System.out.println();
        }
  }
}

标签: javatestingmatrixjunitstatic

解决方案


可能是控制台输入和输出的 JUnit 测试的副本

基本上你可以提供你自己的基于 StringReader 的 Scanner 来 createMatrix 和 printMatrix 方法。


推荐阅读