Tôi muốn tạo một ma trận có kích cỡ N bằng N trong đó N là một giá trị không đổi được xác định trên toàn cầu, bây giờ tôi chỉ muốn tạo một ma trận trong đó N = 6. Nơi tôi rơi ngắn gọn là tôi muốn làm cho nó theo đường chéo, như vậy:Tạo ma trận đường chéo N bằng N sử dụng logic cơ bản
0 1 2 3 4 5
1 0 1 2 3 4
2 1 0 1 2 3
3 2 1 0 1 2
4 3 2 1 0 1
5 4 3 2 1 0
Hiện nay tôi có phương pháp này:
public static void drawMatrix(){
for (int line = 0; line < N; line++){
for (int j = 0; j < N; j++){
System.out.print(j + " ");
}
System.out.println();
}
}
Đáng tiếc là nó chỉ có thể in 0 1 2 3 4 5 trong mỗi dòng , vì vậy tôi cho rằng tôi cần một vòng lặp lồng nhau khác, tuy nhiên tôi không chắc chắn làm thế nào để thiết lập nó.
Bạn đã có hai vòng, có lẽ bạn sẽ thấy nó rõ ràng hơn nếu bạn đổi tên 'j' là 'column'. Giá trị bạn đặt trong mỗi ô là chênh lệch tuyệt đối (dương) được gắn hàng và cột. – SJuan76
@ SJuan76 là đúng.OP nên kiểm tra luồng chương trình đặc biệt trong trường hợp vòng lặp bằng tay để tìm lỗi trong logic của mình – Gaur93
Sau khi đọc nhận xét của @ SJuan76 tôi đã thay đổi câu lệnh in thành "print (Math.abs (line-column) +" " dasblinkenlight cũng là đúng trong giải pháp của mình, mặc dù giải pháp đã đề cập trước đây có vẻ dễ chịu hơn và dễ đọc hơn – UndyingJellyfish