Java 打印星号图案和数字图案

在 Java 中打印图案是一项常见的编程任务,尤其在初学阶段。

通过以特定方式排列符号或数字,可以形成各种设计或形状。

这些图案不仅有助于解决问题,还能培养算法思维能力。

本文将讨论如何在 Java 中打印图案,并探索一些最常见的图案类型。

使用循环和控制语句打印图案

在 Java 中,使用循环和控制语句是打印图案的最佳方法。循环可以帮助你重复执行一段代码,直到满足某个条件为止;而控制语句则允许你在满足某些条件时改变程序的流程。下面是一些常见的 Java 图案程序示例。

1. 星号图案

星号图案是 Java 中非常流行的图案程序,常用于创建有趣的视觉设计或图形。这些程序使用星号(*)或其他符号来创建各种形状和图案。星号图案通常用于计算机图形、标志设计和其他视觉展示。

创建星号图案涉及使用嵌套循环来控制行数、列数以及星号的位置。程序可以定制化,以创建包括三角形、正方形、圆形等在内的各种图案。以下是一些常见的星号图案示例:

1.1 星号金字塔
java 复制代码
public class StarPyramid {
    public static void main(String[] args) {
        int rows = 5;
        for (int i = 1; i <= rows; i++) {
            // 打印空格
            for (int j = rows - i; j > 0; j--) {
                System.out.print(" ");
            }
            // 打印星号
            for (int k = 1; k <= (2 * i - 1); k++) {
                System.out.print("*");
            }
            System.out.println();
        }
    }
}
输出:
    *
   ***
  *****
 *******
*********
1.2 右三角形
java 复制代码
public class RightTriangle {
    public static void main(String[] args) {
        int rows = 5;
        for (int i = 1; i <= rows; i++) {
            for (int j = 1; j <= i; j++) {
                System.out.print("* ");
            }
            System.out.println();
        }
    }
}
输出:
* 
* * 
* * * 
* * * * 
* * * * * 
1.3 左三角形
java 复制代码
public class LeftTriangle {
    public static void main(String[] args) {
        int rows = 5;
        for (int i = 1; i <= rows; i++) {
            // 打印空格
            for (int j = rows - i; j > 0; j--) {
                System.out.print(" ");
            }
            // 打印星号
            for (int k = 1; k <= i; k++) {
                System.out.print("* ");
            }
            System.out.println();
        }
    }
}
输出:
    * 
   * * 
  * * * 
 * * * * 
* * * * * 
1.4 菱形图案
java 复制代码
public class DiamondPattern {
    public static void main(String[] args) {
        int rows = 5;
        
        // 上半部分
        for (int i = 1; i <= rows; i++) {
            for (int j = rows - i; j > 0; j--) {
                System.out.print(" ");
            }
            for (int k = 1; k <= (2 * i - 1); k++) {
                System.out.print("*");
            }
            System.out.println();
        }
        
        // 下半部分
        for (int i = rows - 1; i >= 1; i--) {
            for (int j = rows - i; j > 0; j--) {
                System.out.print(" ");
            }
            for (int k = 1; k <= (2 * i - 1); k++) {
                System.out.print("*");
            }
            System.out.println();
        }
    }
}
输出:
    *
   ***
  *****
 *******
*********
 *******
  *****
   ***
    *

2. 数字图案

数字图案是另一种常见的 Java 图案程序,涉及按特定序列或排列打印数字。这些程序可以用于创建表格、图表等视觉展示。

创建数字图案涉及使用循环来控制行数、列数以及打印的数字值。程序可以定制化,以创建包括乘法表、斐波那契数列等在内的各种图案。以下是一些常见的数字图案示例:

2.1 数字金字塔
java 复制代码
public class NumberPyramid {
    public static void main(String[] args) {
        int rows = 5;
        for (int i = 1; i <= rows; i++) {
            // 打印空格
            for (int j = rows - i; j > 0; j--) {
                System.out.print(" ");
            }
            // 打印数字
            for (int k = 1; k <= i; k++) {
                System.out.print(k + " ");
            }
            System.out.println();
        }
    }
}
输出:
    1 
   1 2 
  1 2 3 
 1 2 3 4 
1 2 3 4 5 
2.2 乘法表
java 复制代码
public class MultiplicationTable {
    public static void main(String[] args) {
        int rows = 10;
        for (int i = 1; i <= rows; i++) {
            for (int j = 1; j <= rows; j++) {
                System.out.printf("%d * %d = %d\t", i, j, i * j);
            }
            System.out.println();
        }
    }
}
输出:
1 * 1 = 1	1 * 2 = 2	1 * 3 = 3	1 * 4 = 4	1 * 5 = 5	1 * 6 = 6	1 * 7 = 7	1 * 8 = 8	1 * 9 = 9	1 * 10 = 10	
2 * 1 = 2	2 * 2 = 4	2 * 3 = 6	2 * 4 = 8	2 * 5 = 10	2 * 6 = 12	2 * 7 = 14	2 * 8 = 16	2 * 9 = 18	2 * 10 = 20	
3 * 1 = 3	3 * 2 = 6	3 * 3 = 9	3 * 4 = 12	3 * 5 = 15	3 * 6 = 18	3 * 7 = 21	3 * 8 = 24	3 * 9 = 27	3 * 10 = 30	
4 * 1 = 4	4 * 2 = 8	4 * 3 = 12	4 * 4 = 16	4 * 5 = 20	4 * 6 = 24	4 * 7 = 28	4 * 8 = 32	4 * 9 = 36	4 * 10 = 40	
5 * 1 = 5	5 * 2 = 10	5 * 3 = 15	5 * 4 = 20	5 * 5 = 25	5 * 6 = 30	5 * 7 = 35	5 * 8 = 40	5 * 9 = 45	5 * 10 = 50	
6 * 1 = 6	6 * 2 = 12	6 * 3 = 18	6 * 4 = 24	6 * 5 = 30	6 * 6 = 36	6 * 7 = 42	6 * 8 = 48	6 * 9 = 54	6 * 10 = 60	
7 * 1 = 7	7 * 2 = 14	7 * 3 = 21	7 * 4 = 28	7 * 5 = 35	7 * 6 = 42	7 * 7 = 49	7 * 8 = 56	7 * 9 = 63	7 * 10 = 70	
8 * 1 = 8	8 * 2 = 16	8 * 3 = 24	8 * 4 = 32	8 * 5 = 40	8 * 6 = 48	8 * 7 = 56	8 * 8 = 64	8 * 9 = 72	8 * 10 = 80	
9 * 1 = 9	9 * 2 = 18	9 * 3 = 27	9 * 4 = 36	9 * 5 = 45	9 * 6 = 54	9 * 7 = 63	9 * 8 = 72	9 * 9 = 81	9 * 10 = 90	
10 * 1 = 10	10 * 2 = 20	10 * 3 = 30	10 * 4 = 40	10 * 5 = 50	10 * 6 = 60	10 * 7 = 70	10 * 8 = 80	10 * 9 = 90	10 * 10 = 100	
2.3 斐波那契数列
java 复制代码
public class FibonacciPattern {
    public static void main(String[] args) {
        int rows = 5;
        for (int i = 1; i <= rows; i++) {
            int a = 0, b = 1;
            for (int j = 1; j <= i; j++) {
                System.out.print(a + " ");
                int sum = a + b;
                a = b;
                b = sum;
            }
            System.out.println();
        }
    }
}
输出:
0 
0 1 
0 1 1 
0 1 1 2 
0 1 1 2 3 

小结

通过上述示例,你可以看到在 Java 中打印图案的基本方法。使用嵌套循环和适当的控制语句,可以轻松地生成各种复杂的图案。这些练习不仅有助于理解循环和控制结构,还可以提升你的编程技能。希望这些示例对你有所帮助!

相关推荐
小桥流水人家jjh11 分钟前
Mybatis执行自定义SQL并使用PageHelper进行分页
java·数据库·spring boot·sql·mybatis
ephemerals__25 分钟前
【c++丨STL】list的使用
开发语言·c++
椅子哥25 分钟前
数据结构--排序算法
java·数据结构·算法·排序算法
哑巴湖小水怪38 分钟前
WPS宏编辑器开发,单元格内容变更自动触发事件
java·编辑器·wps
理想不理想v39 分钟前
执行npm run build -- --report后,生产report.html文件是什么?
java·前端·javascript·vue.js·webpack·node.js
yang_shengy39 分钟前
【JavaEE】认识线程
java·开发语言
老猿讲编程39 分钟前
Rust编写的贪吃蛇小游戏源代码解读
开发语言·后端·rust
Bruce小鬼44 分钟前
QT鼠标事件
开发语言·qt·计算机外设
小乖兽技术1 小时前
C++开发基础之使用librabbitmq库实现RabbitMQ消息队列通信
开发语言·c++·rabbitmq
黑马师兄1 小时前
Mybatis
java·mybatis