我想用户检查给定的矩阵是否是单位矩阵

时间:2014-04-02 09:28:38

标签: java

import java.util.Scanner;

public class twoD
{

    public static void main(String[] args)
    {
        Scanner Scan = new Scanner(System.in);
        int[][] mat = new int[3][3];    //getting input from user in 2d array   
        System.out.println("enter the rows and columns");

        for (int i = 0; i < 3; i++)
        {
            for (int j = 0; j < 3; j++)
            {
                mat[i][j] = Scan.nextInt();
            }
        }       //printing the array    

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

            System.out.println();
        }

        if ((mat[0][0]) == (mat[1][1]) == (mat[2][2]) && 
                (mat[0][1]) == (mat[0][2]) == (mat[1][0]) == (mat[1][2]) == (mat[2][0]) == (mat[2][1]))
        {
            System.out.println("IT is a elementary matrix");
        }
        else
        {
            System.out.println("NOT!");
        }
    }
}

2 个答案:

答案 0 :(得分:1)

你不能一次比较2个以上的变量。

a == b == c

而不是这个你需要比较如下

(a == b) && (b == c)

也符合identity matrix

的定义
  

单位矩阵或大小为n的单位矩阵是n×n方阵,主对角线上有1个,其他地方为零

所以你的概念也是错误的..只需检查对角线值是否为1,其他值是否为0。

答案 1 :(得分:0)

要检查Identity Matrix,请先检查行和列是否相同

并检查序列

0,(n + 1),2(n + 1),3(n + 1),...,n(n + 1)个位置

Matrix的

ONE 和其他人应该 ZERO