Java 中的模式程序:如何打印星号、金字塔、数字

模式打印程序是包含字母或其他字符的特定格式的设计或符号。Java模式编码可以增强程序员的逻辑构建能力,帮助他们成为优秀的程序员。

模式的分类

我们可以在Java中绘制无数的模式,所有模式都可以通过三种不同的方式执行。

用来识别Java模式程序的主要有三个类别。

  • 星形模式:在Java星形模式程序中,星形模式是一系列星号(*),用于创建各种形状,如金字塔星形模式程序、等腰三角形、左对齐三角形、菱形、正方形以及Java中的许多其他模式。
  • 数字模式:为了练习流程控制语句,另一种模式类型是Java中的数字模式程序。数字模式程序包含数字/计数。我们通常设置‘i’的值,它是一个循环迭代器,用于在模式编程中生成数字。数字模式的最小循环次数也是两次。Java中的数字模式程序也基于行和列系统工作。
  • 字符模式:字符模式编程包含英文字母。这是增强编码技能的另一种方式,但在这里我们处理的是字符,而不是数字或星号。模式可以拥有整个模式中的相同字符,也可以拥有不同的字符,这取决于你应用的逻辑。

Java中的星形模式程序

星形模式会在控制台打印一个星号,模式形状完全取决于你编写的代码。

半左对齐三角形星形模式程序

Star Patterns Programs in 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();  
	}
  }
}

代码解释

  • 声明int i,int j。声明并初始化行变量为int row
  • i是外部‘for’循环的迭代器,j是内部‘for’循环的迭代器,‘row’包含金字塔应有的行数。
  • 在嵌套的for循环中,外部‘for’表示行,内部‘for’表示列。
  • 在外部‘for’中,将迭代器‘i’初始化为0,设置条件i< row,然后递增i。
  • 现在内部‘for’循环以2*(row-i)初始化并递减。
  • 嵌套的‘for’循环会在控制台打印空格。
  • 在嵌套‘for’的体外,放置了另一个‘for’循环。在嵌套‘for’执行完毕后,这个‘for’循环会打印星号。它循环直到j<=i。

沙漏星形模式程序

Sandglass star pattern program

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("");
        }
        
    }
}

代码解释

  • 代码以public static void main开始,int rows将定义沙漏包含的行数。
  • 有两个嵌套的‘for’循环,第一个将显示向下金字塔,第二个将显示向上金字塔。
  • 在嵌套的for循环中,外部‘for’表示行,内部‘for’表示列。
  • 在外部‘for’循环中,i循环直到i<= row-1,内部‘for’循环直到i。print system在控制台打印空格。
  • 第二个内部循环在控制台打印星号加空格。
  • 当第一个内部循环在i=0完全执行后,第二个内部循环会完全执行。
  • 然后外部循环递增。这个周期会持续下去,直到条件变为假。
  • 第二个嵌套循环显示向上金字塔,只需更改第一个嵌套循环的外部循环的初始化和条件。
  • 它将显示向上金字塔。向下和向上金字塔的组合将形成沙漏星形模式

菱形星形模式程序

Diamond shape star pattern program

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("");
	}
  }
}

代码解释

  • 菱形星形模式中,‘n’是行数,space_0存储n-1。
  • 在嵌套的for循环中,外部‘for’表示行,内部‘for’表示列。
  • 第一个嵌套‘for’循环显示向上金字塔。外部‘for’循环直到n,内部for循环直到space_0,内部循环在控制台打印空格。
  • 还有一个内部‘for’循环,它循环直到i<= 2 * j – 1,并打印星号。在此内部‘for’循环之外,print system打印一行。这个嵌套循环打印上半部分金字塔。
  • 其他嵌套‘for’循环显示向下金字塔。外部‘for’循环直到i<=n-1,第一个内部‘for’打印空格,第二个内部for打印星号。
  • 在内部‘for’循环之外,打印行空格。向上和向下的金字塔共同构成了菱形模式。

右对齐三角形星形模式空格模式程序

Right triangle star pattern space pattern program

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");
	}
 }
}

代码解释

  • 上面的模式代码中,外部‘for’负责行数,内部‘for’负责列数。
  • 当外部‘for’为1时,表示第一行,当内部‘for’为1时,表示第一列。
  • 在内部‘for’循环中,声明一个名为mid的变量,并将j/i的余数存储起来。这会除以i和j的值以获得模数。
  • 因此,如果模数为0,则显示一个星号和空格;否则,只显示一个星号。在内部‘for’循环之外,打印一行。

Java中的数字模式程序

数字模式包含数字;我们可以从数字模式中绘制许多不同的形状。

反向半对齐三角形模式程序

Numeric Patterns Programs in 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(); 
		}
	}
}

代码解释

  • 要绘制此模式,我们将使用两个嵌套的‘for’循环。一个将打印第一个金字塔,另一个将显示第二个金字塔。
  • 声明int i,int j,和int row_0,并用您想要的行数初始化行。这里row的值是5。
  • 设置第一个嵌套‘for’循环的外部‘for’循环,将i初始化为行数,并迭代直到i >=,然后递减迭代器。这个外部‘for’处理行。
  • 在内部‘for’循环中,设置条件j=1并迭代直到j<=i。在内部循环的体中,显示j变量并加空格。
  • 现在在第二个嵌套‘for’循环中,更改第一个嵌套‘for’循环的外部‘for’条件。将其初始化为2,并循环直到i<= rows。
  • 内部循环迭代直到达到i。然后显示控制台上的消息,与第一个嵌套‘for’循环的内部循环相同。在内部‘for’循环体之外打印行空格。

列中重复的数字右对齐三角形模式程序

Repeated Number in column right triangle Pattern Program

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();   
	} 
  } 
}

代码解释

  • 在示例代码中,声明int i,int j,int number,和int n。
  • 然后将n初始化为您想要的行数,这里是7。
  • 在外部‘for’循环中,从值0开始循环,直到达到n。
  • 您可以在循环内部或外部初始化数字。
  • 在内部‘for’循环中,迭代直到j小于或等于i。然后显示数字并加空格。
  • 在内部‘for’循环体之外,打印行空格。
  • 内部‘for’循环迭代直到其条件变为假。当该条件变为假时,外部循环再次递增并执行内部‘for’循环,直到条件变为假。
  • 这个过程会一直重复,直到外部循环条件变为假。

Java中的字符模式程序

字符模式包含英文字母。我们可以在Java中制作炫酷而精彩的字符模式程序,下面讨论了其中一些。

字符半金字塔模式程序

Character Patterns Programs in 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();
			}
		}
}

代码解释

  • 声明字母并将其初始化为值65。
  • 外部for循环从0开始,重复直到i为5或更小。
  • 在for循环内部,循环从0开始,重复直到j小于或等于i。
  • 然后打印字符和空格到输出屏幕。
  • 为了打印字符,我们将字母从整数类型转换为字符类型。
  • 在其体之外,递增字母并打印一行到输出屏幕。(char)将字母值转换为字符。

Java中的金字塔/三角形模式

Character Patterns Programs in 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();  
	}  
  }  
} 

代码解释

  • 在这个示例代码中,我们使用了三个‘for’循环,一个外部循环,两个嵌套在外部‘for’循环内部。
  • 外部‘for’循环从0开始,循环直到值8或更小。
  • 在外部‘for’循环的体中,我们将整型字母变量初始化为65,并在其体内嵌套另一个‘for’循环。
  • 第一个内部‘for’循环是外部‘for’循环的逆序,在其体中,在控制台打印空格。在其体之外,还有一个‘for’循环。它像外部循环一样迭代。
  • 在第二个内部循环的体中,通过对字母+k进行类型转换来打印字符,并将其与空格一起打印到控制台。在第二个内部‘for’循环体之外,打印一行。

摘要

  • 在本Java教程中,您将学习Java,包括详细的模式编程,从模式编程到代码的实际实现。
  • 文章讨论了三种模式编程类别:星形模式、数字模式和字符模式。
  • 这三个类别之间的区别仅在于数据的类型不同;否则,相同的逻辑适用于所有三个类别。
  • 从最基本的模式编程示例到高级示例,我们为您带来您应该了解的关于Java模式的一切。