程序分析:先把圖形分成兩部分來看待,前四行一個規律,后三行一個規律,利用雙重 for循環,第一層控制行,第二層控制列。
編寫程序,在控制臺上輸出空心菱形,對角距離為6.
- public class Diamond {
- public static void main(String[] args) {
- printHollowRhombus(6);
- }
- public static void printHollowRhombus(int size) {
- if (size % 2 == 0) {
- size++;// 計算菱形大小
- }
- for (int i = 0; i < size / 2 + 1; i++) {
- for (int j = size / 2 + 1; j > i + 1; j--) {
- System.out.print(" ");// 輸出左上角位置的空白
- }
- for (int j = 0; j < 2 * i + 1; j++) {
- if (j == 0 || j == 2 * i) {
- System.out.print("* ");// 輸出菱形上半部邊緣
- } else {
- System.out.print(" ");// 輸出菱形上半部空心
- }
- }
- System.out.println(""); //換行
- }
- for (int i = size / 2 + 1; i < size; i++) {
- for (int j = 0; j < i - size / 2; j++) {
- System.out.print(" ");// 輸出菱形左下角空白
- }
- for (int j = 0; j < 2 * size - 1 - 2 * i; j++) {
- if (j == 0 || j == 2 * (size - i - 1)) {
- System.out.print("* ");// 輸出菱形下半部邊緣
- } else {
- System.out.print(" ");// 輸出菱形下半部空心
- }
- }
- System.out.println(""); //換行
- }
- }
- }
效果如圖:
三角形:
- public class StartG {
- public static void main(String [] args)
- {
- int i=0;
- int j=0;
- for(i=1;i<=4;i++)
- { for(j=1;j<=2*i-1;j++)
- System.out.print("*");
- System.out.println("");
- }
- for(i=4;i>=1;i--)
- { for(j=1;j<=2*i-3;j++)
- System.out.print("*");
- System.out.println("");
- }
- }
- }