专注Java教育14年 全国咨询/投诉热线:400-8080-105
动力节点LOGO图
始于2009,口口相传的Java黄埔军校
首页 学习攻略 Java学习 Java打印金字塔的程序

Java打印金字塔的程序

更新时间:2022-11-25 11:13:57 来源:动力节点 浏览744次

本文旨在给出一个Java实现的图案打印。

简单的金字塔图案

import java.io.*;
// Java code to demonstrate star patterns
public class GeeksForGeeks
{
	// Function to demonstrate printing pattern
	public static void printStars(int n)
	{
		int i, j;
		// outer loop to handle number of rows
		// n in this case
		for(i=0; i<n; i++)
		{
			// inner loop to handle number of columns
			// values changing acc. to outer loop
			for(j=0; j<=i; j++)
			{
				// printing stars
				System.out.print("* ");
			}
			// ending line after each row
			System.out.println();
		}
}
	// Driver Function
	public static void main(String args[])
	{
		int n = 5;
		printStars(n);
	}
}

输出

*
* *
* * *
* * * *
* * * * *

方法1:使用while循环

// java program to print simple pyramid pattern using while
// loop
import java.io.*;
class GFG {
	public static void main(String[] args)
	{
		int r = 1, c = 0, n = 5;
		// the while loop check the conditions until the
		// condition is false. if it is true then enter in
		// to loop and execute the statements
		while (r <= n) {
			while (c <= r - 1) {
				// printing the required pattern
				System.out.print("* ");
				c++;
			}
			r++;
			c = 0;
			// new line after each row
			System.out.println();
		}
	}
}
// this code is contributed by gangarajula laxmi

输出

*
* *
* * *
* * * *
* * * * *

方法2:使用递归

// Java code to demonstrate star pattern
// using Recursion
import java.io.*;
class GFG {
	// function to print a row
	static void printRow(int num)
	{
		// base case
		if (num == 0)
			return;
		System.out.print("* ");
		// recursively calling printRow()
		printRow(num - 1);
	}
	// function to print the pattern
	static void pattern(int n, int i)
	{
		// base case
		if (n == 0)
			return;
		printRow(i);
		System.out.println();
		// recursively calling pattern()
		pattern(n - 1, i + 1);
	}
	// Driver code
	public static void main(String[] args)
	{
		int n = 5;
		pattern(n, 1);
	}
}
// this code is contributed by Shivesh Kumar Dwivedi

输出

*
* *
* * *
* * * *
* * * * *

180度旋转后

import java.io.*;
// Java code to demonstrate star pattern
public class GeeksForGeeks
{
	// Function to demonstrate printing pattern
	public static void printStars(int n)
	{
		int i, j;
		// outer loop to handle number of rows
		// n in this case
		for(i=0; i<n; i++)
		{
			// inner loop to handle number spaces
			// values changing acc. to requirement
			for(j=2*(n-i); j>=0; j--)
			{
				// printing spaces
				System.out.print(" ");
			}			
			// inner loop to handle number of columns
			// values changing acc. to outer loop
			for(j=0; j<=i; j++)
			{
				// printing stars
				System.out.print("* ");
			}			
			// ending line after each row
			System.out.println();
		}
	}
	// Driver Function
	public static void main(String args[])
	{
		int n = 5;
		printStars(n);
	}
}

输出

           *
         * *
       * * *
     * * * *
   * * * * *

方法3:使用递归

// Java code to demonstrate star pattern
//using Recursion
import java.util.*;
public class GeeksForGeeks
{
	// function to print spaces
	static void printSpace(int space)
	{
		// base case
		if (space == 0)
		{
			return;
		}
		System.out.print(" " + " ");
		// recursively calling printSpace()
		printSpace(space - 1);
	}
	// function to print stars
	static void printStars(int star)
	{
		// base case
		if (star == 0)
		{
			return;
		}
		System.out.print("* ");
		// recursively calling printStars()
		printStars(star - 1);
	}
	// function to print the pattern
	static void pattern(int n, int num)
	{
		// base case
		if (n == 0)
		{
			return;
		}
		printSpace(n - 1);
		printStars(num - n + 1);
		System.out.println();
		// recursively calling pattern()
		pattern(n - 1, num);
	}
	// Driver code
	public static void main(String args[])
	{
		int n = 5;
		pattern(n, n);
	}
}
//this code is contributed by Shivesh Kumar Dwivedi

输出

        *
      * *
    * * *
  * * * *
* * * * *

印刷三角

import java.io.*;
// Java code to demonstrate star pattern
public class GeeksForGeeks
{
	// Function to demonstrate printing pattern
	public static void printTriangle(int n)
	{
		// outer loop to handle number of rows
		// n in this case
		for (int i=0; i<n; i++)
		{
			// inner loop to handle number spaces
			// values changing acc. to requirement
			for (int j=n-i; j>1; j--)
			{
				// printing spaces
				System.out.print(" ");
			}
			// inner loop to handle number of columns
			// values changing acc. to outer loop
			for (int j=0; j<=i; j++ )
			{
				// printing stars
				System.out.print("* ");
			}
			// ending line after each row
			System.out.println();
		}
	}	
	// Driver Function
	public static void main(String args[])
	{
		int n = 5;
		printTriangle(n);
	}
}

输出

    *
   * *
  * * *
 * * * *
* * * * *

方法4:使用递归

// Java code to demonstrate star pattern
// using recursion
import java.util.*;
public class GeeksForGeeks {
	// function to print spaces
	static void printSpace(int space)
	{
		// base case
		if (space == 0)
			return;
		System.out.print(" ");
		// recursively calling printSpace()
		printSpace(space - 1);
	}
	// function to print asterisks
	static void printStar(int asterisk)
	{
		// base case
		if (asterisk == 0)
			return;
		System.out.print("* ");
		// recursively calling printStar()
		printStar(asterisk - 1);
	}
	// function to print the pattern
	static void pattern(int n, int num)
	{
		// base case
		if (n == 0)
			return;
		printSpace(n - 1);
		printStar(num - n + 1);
		System.out.println("");
		// recursively calling pattern()
		pattern(n - 1, num);
	}
	// Driver code
	public static void main(String[] args)
	{
		int n = 5;
		pattern(n, n);
	}
}
// this code is contributed by Shivesh Kumar Dwivedi

输出

    *
   * *
  * * *
 * * * *
* * * * *

打印金字塔的反面

//MainFunction
public class ReversePyramid
{
	public static void main(String[] args)
	{
		int rows = 6; // Number of Rows we want to print		
		//Printing the pattern
		for (int i = 1; i <= rows; i++)
		{
		for (int j = 1; j < i; j++)
			{
				System.out.print(" ");
			}
		for (int j = i; j <= rows; j++)
			{
				System.out.print(j+" ");
			}
			System.out.println();
		}				
		}	
	}

输出

1 2 3 4 5 6
 2 3 4 5 6
  3 4 5 6
   4 5 6
    5 6
     6个

镜像数字图案

//MainFunction
public class ReversePattern
{
	public static void main(String[] args)
	{
		int rows = 7; // Number of Rows we want to print		
		//Printing the pattern
		for (int i = 1; i <= rows; i++)
		{
		for (int j = 1; j < i; j++)
			{
				System.out.print(" ");
			}
		for (int j = i; j <= rows; j++)
			{
				System.out.print(j+" ");
			}
			System.out.println();
		}
	//Printing the reverse pattern
		for (int i = rows-1; i >= 1; i--)
		{
		for (int j = 1; j < i; j++)
			{
				System.out.print(" ");
			}
		for (int j = i; j <= rows; j++)
			{
				System.out.print(j+" ");
			}
			System.out.println();
		}	
	}
}

输出

1 2 3 4 5 6 7
 2 3 4 5 6 7
  3 4 5 6 7
   4 5 6 7
    5 6 7
     6 7
      7
     6 7
    5 6 7
   4 5 6 7
  3 4 5 6 7
 2 3 4 5 6 7
1 2 3 4 5 6 7

数字模式

import java.io.*;
// Java code to demonstrate number pattern
public class GeeksForGeeks
{
	// Function to demonstrate printing pattern
	public static void printNums(int n)
	{
		int i, j,num;
		// outer loop to handle number of rows
		// n in this case
		for(i=0; i<n; i++)
		{
			// initialising starting number
			num=1;
			// inner loop to handle number of columns
			// values changing acc. to outer loop
			for(j=0; j<=i; j++)
			{
				// printing num with a space
				System.out.print(num+ " ");
				//incrementing value of num
				num++;
			}
			// ending line after each row
			System.out.println();
		}
	}
	// Driver Function
	public static void main(String args[])
	{
		int n = 5;
		printNums(n);
	}
}

输出

1个
1 2
1 2 3
1 2 3 4
1 2 3 4 5

方法5:使用 while 循环

// java program to print number pattern using while
// loop
import java.io.*;
class GFG {
	public static void main(String[] args)
	{
		int r = 1, c = 1, n = 5;
		// the while loop check the conditions until the
		// condition is false. if it is true then enter in
		// to loop and execute the statements
		while (r <= n) {
			while (c <= r ) {
				// printing the required pattern
				System.out.print(c+" ");
				c++;
			}
			r++;
			c = 1;
			// new line after each row
			System.out.println();
		}
	}
}

输出

1个
1 2
1 2 3
1 2 3 4
1 2 3 4 5

 

提交申请后,顾问老师会电话与您沟通安排学习

免费课程推荐 >>
技术文档推荐 >>