模式程序 Java打印星星、金字塔和数字
图案打印程序是包含特定格式的字母或其他字符的图案或符号。 Java 模式编码增加了程序员的逻辑构建能力,帮助他们成为优秀的程序员。
这里的每个例子都只需要嵌套循环和基本操作。 Java 语法。
模式分类
我们可以绘制出无数种图案 Java所有模式都可以通过三种不同的方式执行。
有三个主要类别用于识别 Java 模式程序。
- 星形图案: In Java 星型图案程序,星型图案是一系列 星号 (*) 用于创建各种形状,例如金字塔星形图案程序、紧密三角形、左三角形、菱形、正方形以及更多其他图案。 Java.
- 数字模式: 为了练习流程控制语句,另一种模式类型是数字模式程序。 Java数字模式程序由数字/计数组成。通常,我们会设置循环迭代器“i”的值来生成模式编程中的数字。数字模式所需的最少循环次数也是两次。数字模式程序 Java 也适用于行和列系统。
- 字符图案: 字符模式编程由以下字符组成: 英文字母。这是提高编码技能的另一种方法,但这里我们处理的是字符,而不是数字或星号。模式可以在整个模式中具有相同的字符,也可以具有不同的字符,这取决于您应用的逻辑。
下表显示了各类别之间的变化。
| 类别 | 印刷单元 | 打印值来自哪里 | 样本输出 |
|---|---|---|---|
| 星纹 | 星号 | 符号是固定的,所以只有循环边界会改变。 | * * * |
| 数字模式 | Digit | 循环迭代器 i 或 j 直接打印出来 | 1 2 3 |
| 字符模式 | 博客 | 将整数种子强制转换为字符,起始值为 65。 | ABC |
在这三种情况下,外层循环都用于计算行数,一个内层循环用于打印对齐空格,另一个内层循环用于打印可见字符。唯一改变的是打印的单位。
同样的循环技巧也适用于其他经典练习,例如 选择排序, 插入排序,并 阿姆斯特朗数 程序。
星形图案优先出现,因为符号永远不会改变,只有循环边界才重要。
星型图案计划 Java
星号图案在控制台上打印星号,图案形状完全取决于您编写的代码。
半左三角星型图案程序:
以下程序会打印出这个左半三角形:
public class LeftStarPattern{ public static void main(String args[]){ int i, j, row = 6; for (i=0; i<row; i++) { for (j=2*(row-i); j>=0; j--) { System.out.print(" "); } for (j=0; j<=i; j++ ) { System.out.print("* "); } System.out.println(); } } }
Code 解释:
- 声明 内部, int j. 声明并初始化行变量作为 整行.
- i 是外部“for”循环的迭代器,j 是内部“for”循环的迭代器,“row”包含金字塔应具有的行数。
- 在嵌套的 for 中,外部的“for”代表行,内部的“for”代表列。
- 在外层“for”中,用 0 初始化迭代器“i”,设置条件 i < row,并增加 i。
- 现在内部的“for”循环用 2*(row-i) 初始化并减少。
- 嵌套的“for”在控制台屏幕上打印空间。
- 在嵌套的“for”主体外部放置另一个“for”循环。此“for” 印刷之星 嵌套的 for 执行完毕后,循环执行,直到 j<=i。
沙漏星图程序:
两个叠在一起的金字塔可以制成这个沙漏:
public class Main { public static void main(String[] args) { int rows = 5; for (int i= 0; i<= rows-1 ; i++) { for (int j=0; j <i; j++) { System.out.print(" "); } for (int k=i; k<=rows-1; k++) { System.out.print("*" + " "); } System.out.println(""); } for (int i= rows-1; i>= 0; i--) { for (int j=0; j< i ;j++) { System.out.print(" "); } for (int k=i; k<=rows-1; k++) { System.out.print("*" + " "); } System.out.println(""); } } }
Code 解释:
- Code 从开始 公共静态无效 主要, int 行 将定义沙漏所包含的行数。
- 有两个嵌套的“for”,第一个将显示向下的金字塔,第二个将显示向上的金字塔。
- 在嵌套的 for 中,外部的“for”代表行,内部的“for”代表列。
- 在外部“for”循环中直到 i <= row-1,内部“for”循环直到 i。 打印系统 在控制台上打印空间。
- 第二个内循环在控制台上打印星号加空格。
- 当第一个内循环在 i=0 时完全执行完毕后,第二个内循环也完全执行完毕。
- 然后外层循环递增。此循环持续进行,直到条件变为假。
- 第二个嵌套循环呈现向上的金字塔,仅改变第一个嵌套循环外层循环的初始化和条件。
- 它将显示向上金字塔。向下和向上金字塔都会使 沙漏星形图案.
钻石形星形图案程序:
由向上和向下的金字塔构成这个菱形:
public class Main { public static void main(String args[]) { int n, i, j, space_0 = 1; n = 6; space_0 = n - 1; for (j = 1; j<= n; j++) { for (i = 1; i<= space_0; i++) { System.out.print(" "); } space_0--; for (i = 1; i <= 2 * j - 1; i++) { System.out.print("*"); } System.out.println(""); } space_0 = 1; for (j = 1; j<= n - 1; j++) { for (i = 1; i<= space_0; i++) { System.out.print(" "); } space_0++; for (i = 1; i<= 2 * (n - j) - 1; i++) { System.out.print("*"); } System.out.println(""); } } }
Code 解释:
- 在 钻石星形图案, 'n' 是行数,存储在 space_1 中的 n-0。
- 在嵌套的 for 中,外部的“for”代表行,内部的“for”代表列。
- 第一个嵌套的“for”显示向上的金字塔。外部“for”循环直到 n,内部 for 循环直到 space_0 内循环在控制台上显示空间。
- 还有一个内部“for”循环,直到 i<= 2 * j – 1,并在这个内部“for”打印系统打印一行之外显示一个星号。这个嵌套循环打印上金字塔。
- 另一个嵌套的“for”显示向下的金字塔。外层“for”循环直到 i<=n-1,第一个内层“for”打印空格,第二个内层“for”打印星号。
- 在内部“for”外面,打印行空间。向上和向下的金字塔都构成了菱形图案。
直角三角形星型空间格局方案:
j 和 i 的模量插入了这些间隙:
public class AsterikProgramJava { public static void main(String[] args) { for(int i=1;i<=10;i++) { for(int j=1;j<=i+i;j++) { int mid; mid=j%i; if(mid==0) System.out.print("* "); else System.out.print("*"); } System.out.print("\n"); } } }
Code 解释:
- 在 上述模式 代码中,外部的“for”负责处理行数,内部的“for”负责维护列数。
- 当外部的‘for’为1时,表示第一行,当内部的‘for’为1时,表示第一列。
- 在内部“for”中,声明一个名为 mid 的变量并存储 j/i 的余数。这会将 i 和 j 的值相除以获得模数。
- 因此,如果模数为 0,则显示星号和空格;否则,仅显示星号。在内部“for”之外,打印一行。
现代 Java 注意事项: ,来自 Java 11 空间环路可以替换为 System.out.print(" ".repeat(n))并按顺序构建每一行 StringBuilder 之前 println() 调用速度更快。保留原始代码,因为它清晰地展示了运算过程。
互换ping 循环计数器的星号会将每个星形变成数字形状。
数字模式程序 Java
数字模式由数字组成;我们可以从数字模式中绘制出许多不同的形状。
对半三角形图案程序:
先倒数再倒数,就能得到这个数字三角形:
public class Number_p { public static void main(String[] args) { int i, j, rows_0=5; for (i = rows_0; i >= 1; i--) { for (j = 1; j <= i; j++) { System.out.print(j+" "); } System.out.println(); } for (i = 2; i <= rows_0; i++) { for (j = 1; j <= i; j++) { System.out.print(j+" "); } System.out.println(); } } }
Code 解释:
- 为了绘制此图案,我们将使用两个嵌套的“for”循环。一个循环将打印第一个金字塔,另一个循环将显示第二个金字塔。
- 声明 内部、int j 和 int row_0,并用所需的行数初始化行。此处的行值为 5。
- 设置第一个嵌套“for”的外部“for”循环,用行数初始化 i,然后迭代直到 i >= 并减少迭代器。这个外部“for”处理行。
- 在内层“for”中设置条件 j=1 并迭代直到 j<=i。在内层循环体中,用空格显示 j 变量。
- 现在在第二个嵌套的“for”中,更改第一个嵌套“for”的外部“for”条件。用 2 初始化它并循环直到 i<= 行。
- 内循环迭代直到到达 i。然后在控制台上显示消息,与内 for 主体外部第一个嵌套“for”的内循环打印行空间相同。
列直角三角形中重复的数字模式程序:
每行重置计数器会使数字重复:
public class Number_pattern { public static void main(String args[]) { int i, j,number, n=7; for(i=0; i<n; i++) { number=1; for(j=0; j<=i; j++) { System.out.print(number+ " "); number++; } System.out.println(); } } }
Code 解释:
- 在示例代码中,声明 内部,int j, 整数ber 和 int n。
- 然后用您想要的行数的值初始化 n,这里是 7。
- 在外部“for”中,从值 0 开始循环并迭代直到达到 n。
- 您可以在循环内部或外部初始化数字。
- 在内部的 for 中,迭代直到 j 小于或等于 i 达到。并用空格显示数字。
- 在内部“for”语句的主体之外,打印行间距。
- 内部“for”循环迭代,直到其条件变为假。当此条件变为假时,外部循环再次递增并执行内部“for”,直到条件变为假。
- 该过程不断重复,直到外循环变为错误。
当整数种子被强制转换为字符时,同一个框架会打印字母。
角色模式程序 Java
字符模式由英文字母组成。我们可以制作出炫酷的字符模式程序。 Java 下面将讨论其中几个例子。
字符半金字塔图案程序:
将整数类型的种子值强制转换为字符类型会打印出以下字母:
public class Character_p{
public static void main(String[] args){
int alphabet = 65;
for (int i = 0; i <= 5; i++){
for (int j = 0; j <= i; j++)
{
System.out.print((char) alphabet + " ");}
alphabet++;
System.out.println();
}
}
}
Code 解释:
- 声明字母表并用值 65 初始化它。
- 外层 for 循环从 0 开始并重复,直到 i 等于或小于 5。
- 在 for 内部,循环从 0 开始并重复,直到 j 小于或等于 i。
- 然后在输出屏幕上打印字符和空格。
- 为了打印字符,我们将字母表从整数转换为字符。
- 在其主体之外,增加字母表并在输出屏幕上打印该行。 (char) 将字母表值转换为字符。
金字塔/三角形图案 Java:
一个空格环将字母排列成金字塔形:
public class CharacterPattern
{
public static void main(String[] args){
for (int i = 0; i <= 8; i++)
{
int alphabet_0 = 65;
for (int j = 8; j > i; j--)
{
System.out.print(" ");
}
for (int k = 0; k <= i; k++)
{
System.out.print((char) (alphabet_0 + k) + " ");
}
System.out.println();
}
}
}
Code 解释:
- 在这个示例代码中,我们使用了三个“for”循环,一个是外循环,两个循环嵌套在外层“for”内。
- 外部的“for”从 0 开始循环,直到值等于或小于 8。
- 在外部“for”语句的主体内,我们用值 65 初始化整数类型的字母表变量,并将另一个“for”嵌套在其主体内。
- 第一个内部“for”是外部“for”循环的反向,在其主体中,在控制台上打印空间。在其主体之外,还有另一个“for”。它像外循环一样迭代。
- 在第二个内循环的主体中,通过键入字母 +k 来打印字符,并在控制台上打印带有空格的字符。在第二个内循环主体之外打印一行。








