30/09/2018, 18:31

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 
 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("	 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("	 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 ạ

Tôi là tôi viết 20:32 ngày 30/09/2018

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.

Bài liên quan
0