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 ạ
Bài liên quan
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.