Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Java

Chương trình Java in mẫu sao kim cương (Diamond)

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

  1. Bắt đầu
  2. Khai báo 4 số nguyên: i, j, k, my_input
  3. Đọc giá trị từ người dùng hoặc định nghĩa trước
  4. Gán my_input - 1 cho k
  5. Duyệt 2 vòng lặp for lồng nhau để tạo khoảng trắng
  6. Sau vòng lặp trong cùng, duyệt thêm vòng for để in ký tự sao
  7. In dòng mới cho các dòng tiếp theo
  8. Hiển thị kết quả
  9. 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 : 
       *
      ***
     *****
    *******
   *********
  ***********
 *************
***************
 *************
  ***********
   *********
    *******
     *****
      ***
       *