Giới thiệu
Trong bài viết này, chúng ta sẽ tìm hiểu cách in mẫu sao hình kim cương (Diamond Star pattern). Mẫu được tạo bằng nhiều vòng lặp for lồng nhau và lệnh in.
Minh họa
Đầu vào:
Enter the number of rows : 8
Đầu ra:
The diamond star pattern :
*
***
*****
*******
*********
***********
*************
***************
*************
***********
*********
*******
*****
***
*
Thuật toán
- Bắt đầu
- Khai báo 4 số nguyên:
i,j,k,my_input - Đọc giá trị từ người dùng hoặc định nghĩa trước
- Gán
my_input - 1chok - Duyệt 2 vòng lặp
forlồng nhau để tạo khoảng trắng - Sau vòng lặp trong cùng, duyệt thêm vòng
forđể in ký tự sao - In dòng mới cho các dòng tiếp theo
- Hiển thị kết quả
- Kết thúc
Ví dụ 1: Nhập từ bàn phím (Scanner)
import java.util.Scanner;
public class DiamondStar {
public static void main(String args[]) {
int i, j, k, my_input;
System.out.println("Required packages have been imported");
Scanner my_scanner = new Scanner(System.in);
System.out.println("A reader object has been defined ");
System.out.print("Enter the number : ");
my_input = my_scanner.nextInt();
k = my_input - 1;
System.out.println("The diamond star pattern : ");
for (j = 1; j <= my_input; j++) {
for (i = 1; i <= k; i++) {
System.out.print(" ");
}
k--;
for (i = 1; i <= 2 * j - 1; i++) {
System.out.print("*");
}
System.out.println("");
}
k = 1;
for (j = 1; j <= my_input - 1; j++) {
for (i = 1; i <= k; i++) {
System.out.print(" ");
}
k++;
for (i = 1; i <= 2 * (my_input - j) - 1; i++) {
System.out.print("*");
}
System.out.println("");
}
}
}
Đầu ra
Required packages have been imported
A reader object has been defined
Enter the number : 8
The diamond star pattern :
*
***
*****
*******
*********
***********
*************
***************
*************
***********
*********
*******
*****
***
*
Ví dụ 2: Giá trị định nghĩa trước
public class DiamondStar {
public static void main(String args[]) {
int i, j, k, my_input;
my_input = 8;
k = my_input - 1;
System.out.println("The number of rows is defined as " + my_input);
System.out.println("The diamond star pattern : ");
for (j = 1; j <= my_input; j++) {
for (i = 1; i <= k; i++) {
System.out.print(" ");
}
k--;
for (i = 1; i <= 2 * j - 1; i++) {
System.out.print("*");
}
System.out.println("");
}
k = 1;
for (j = 1; j <= my_input - 1; j++) {
for (i = 1; i <= k; i++) {
System.out.print(" ");
}
k++;
for (i = 1; i <= 2 * (my_input - j) - 1; i++) {
System.out.print("*");
}
System.out.println("");
}
}
}
Đầu ra
The number of rows is defined as 8
The diamond star pattern :
*
***
*****
*******
*********
***********
*************
***************
*************
***********
*********
*******
*****
***
*