Cần mọi người giúp đỡ nhập xuất ma trận trong java

em mới học java nên chưa hiểu lắm về vấn để nhập xuất 2 ma trận các anh giúp em bài này với ạ
yêu cầu nhấp, xuất,2 ma trận N x M
tính tổng 2 ma trận vừa nhập
em như thế này ạ

int n, m;
int[][] mang1, mang2, mang3;

public static int checkInt() {
    Scanner sc = new Scanner(System.in);
    boolean check = true;
    int a = 0;
    while (check) {
        try {
            a = sc.nextInt();
            check = false;
        } catch (Exception e) {
            System.out.println("ban nhap sai kieu du lieu \n moi nhap lai ");
            sc.nextLine();
        }
    }
    return a;
}

// nhap kich thuoc cua ma tran
public void nhapKT() {

    System.out.println("nhap n = ");
    n = checkInt();
    System.out.println("nhap m = ");
    m = checkInt();
}

// nhap cac phan tu cua ma tran 
public void nhapMT() {
    mang1 = new int[n][m];
    mang2 = new int[n][m];
    System.out.println("nhap ma tran 1 : ");
    for (int i = 0; i < n; i++) {
        for (int j = 0; j < m; j++) {
            System.out.print("A[" + i + "][" + j + "] = ");
            mang1[i][j] = checkInt();
        }
    }
    System.out.println("nhap ma tran 1 : ");
    for (int i = 0; i < n; i++) {
        for (int j = 0; j < m; j++) {
            System.out.print("A[" + i + "][" + j + "] = ");
            mang2[i][j] = checkInt();
        }
    }
}

//in ra ma tran 
public void inMT() {
    System.out.println("ma tran 1 la : ");
    for (int i = 0; i < n; i++) {
        for (int j = 0; j < m; j++) {
            System.out.print("\t a[" + i + "][" + j + "] = " + mang1[i][j]);
        }
        System.out.println("");
    }
    System.out.println("ma tran 2 la : ");
    for (int i = 0; i < n; i++) {
        for (int j = 0; j < m; j++) {
            System.out.print("\t a[" + i + "][" + j + "] = " + mang2[i][j]);
        }
        System.out.println("");
    }
}

public static void main(String[] args) {
    DemoArray demo = new DemoArray();
    demo.nhapKT();
    demo.nhapMT();
    demo.inMT();
}

}

em thấy code của em sao sao ý chưa tối ưu
các anh giải giúp em với được không ạ !
em xin cám ơn ạ

Theo ý kiến của mình thì bạn nên xây dựng một lớp ma trận riêng, trong đó có phương thức nhập, in, và cộng một ma trận khác thì tốt hơn.

1 Like
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?