用Java输入和保存2d数组?

时间:2017-03-22 10:47:10

标签: java arrays matrix multidimensional-array linear-algebra

我一直在努力用Java手动输入2d数组。

  • 首先,当我创建一个与矩阵有关的程序时,是否有一种操作行和列的方法可以使矩阵看起来更自然,又看起来像一个正方形,而不是被放置在程序中垂直*(不久将提供截图)。
  • 其次,如何将主要方法中手动输入的2D数组存储到矩阵中,以后稍后将用于在程序中使用矩阵执行操作?例如,如果用户输入矩阵,并想要找到它的逆,我如何从键盘存储他的输入以用于查找行列式(其具有处理存储的矩阵的单独方法)。我一直在零!

以下是代码和快照: Horrid looking matrices

主要方法请求维度并提供System.out.println内容。

 static void Manual(dimension){
   int n=dimension;
   int mat[][]=new int [n][n];
     Scanner scan= new Scanner(System.in);
    for(int row=0; row<n;row++)
    {for(int col=0; col<n;col++)
        {     
             mat[row][col]=scan.nextInt();

        }
        System.out.print("\n");
    }

1 个答案:

答案 0 :(得分:0)

要打印矩阵,请制作一个辅助方法

public void printMatrix(int[][] matrix){
    int rows = matrix.length;
    int cols = matrix.length;
    for(int i=0; i<rows; i++){
       for(int j=0; j<cols; j++)
           System.out.print(matrix[i][j]+" ");
       System.out.println();
    }
}

要回答如何进行操作, 使用Switch case:

switch(inputChar){
    case 'a': computeDeterminant(); break;
    case 'b': computeInverse(); break;
    case 'c': .... ; break;
    default : .... ;
}

并确保将矩阵设为静态对象。这将帮助您操纵单个对象。并且,您可以使用临时矩阵来反映对主对象的更改。

希望这有帮助, 告诉我,如果我错过了什么。