Đề bài: Viết chương trình vẽ hình tam giác đặc bằng số (hình mẫu bên dưới).
Kiến thức cần nắm
– Nhập dữ liệu từ bàn phím sử dụng Scanner
Phân tích
Nhìn vào hình bạn sẽ thấy rằng số lớn nhất được in ra cuối mỗi dòng của dãy số là số lẻ. Và trên 1 dòng, các số được in ra từ 1 đến số lớn nhất ở cuối dòng đó.
Câu bất hủ: Để vẽ một hình tam giác, chúng ta cần ít nhất 2 vòng lặp for: 1 vòng lặp ngoài để in ký tự xuống dòng, 1 hoặc nhiều vòng lặp con bên trong dùng để in các ký tự, con số hoặc dấu cách.
Mình sẽ chia hình thành 2 phần theo chiều từ trái sang phải để vẽ, 2 phần mình sẽ dùng 2 vòng lặp for con (xem code mẫu bên dưới để rõ hơn). Vòng for con thứ 1 sẽ in các dấu cách trước hình tam giác và vòng lặp for con thứ 2 sẽ dùng để in ra các số của hình tam giác.
Code mẫu
package com.ngockhuong.exercise; import java.util.Scanner; public class NumberTriangle { public static void main(String[] args) { int num; System.out.print("Nhập số dòng của hình: "); Scanner sc = new Scanner(System.in); num = sc.nextInt(); for (int r = 1; r <= num; r++) { for (int sp = 1; sp <= num - r; sp++) { System.out.print(" "); } for (int c = 1; c <= 2 * r - 1; c++) { System.out.print(" " + c); } System.out.println(); } } }
Kết quả
Nhập số dòng của hình: 6 1 1 2 3 1 2 3 4 5 1 2 3 4 5 6 7 1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9 10 11
Đó là cách mình sử dụng để vẽ hình này, nếu bạn còn cách nào khác thì có thể comment đoạn code đó bên dưới để mọi người cùng tham khảo nhé.