1. 程式人生 > >利用java打印出金字塔圖案

利用java打印出金字塔圖案

分析:

想要得到上述圖片樣式,一個是要實現列印*數量的遞增  另一個是要考慮每行的填充,用什麼填充 當然是空格了!

程式碼如下:

import java.util.Scanner;

public class First 
{
	public static void main(String[] args) 
	{
		int i,j,k,n;
		Scanner input=new Scanner(System.in);
		System.out.print("請輸入金字塔層數:");
		n=input.nextInt();//外層迴圈控制層數
		for(i=1;i<=n;i++)
		{
            //根據外層行號,輸出星號左邊空格
			for(j=1;j<=n-i;j++)
				System.out.print(" ");//根據外層行號,輸出星號個數
			for(k=1;k<=2*i-1;k++)
				System.out.printf("*");//一行結束,換行
			System.out.printf("\n");
		}
	}
}

實現2

import java.util.Scanner;

public class First 
{
	public static void main(String[] args) 
	{
		int i,j,k,n;
		Scanner input=new Scanner(System.in);
		System.out.print("請輸入金字塔層數:");
		n=input.nextInt();//外層迴圈控制層數
		for(i=1;i<=n;i++)
		{
            
			for(j=i;j<=n;j++)
				System.out.print(" ");//根據外層行號,輸出星號個數
			for(k=1;k<=i;k++)
				System.out.printf("* ");//一行結束,換行
			System.out.printf("\n");
		}
}
}


得到了三角形後我們還想得到一個菱形怎麼辦?

分析:只需要上邊一個正三角形下邊一個倒三角型即可

實現程式碼:

import java.util.Scanner;

public class First 
{
	public static void main(String[] args) 
	{
		int i,j,k,n;
		Scanner input=new Scanner(System.in);
		System.out.print("請輸入菱形上三角層數:");
		n=input.nextInt();//外層迴圈控制層數
		for(i=1;i<=n;i++)
		{
			for(j=i;j<=n;j++)
				System.out.print(" ");
			for(k=1;k<=i;k++)
				System.out.printf("* ");
			System.out.printf("\n");
		}
		for(i=2;i<=n;i++)
		{
			for(k=1;k<=i;k++)
				System.out.print(" ");
			for(j=i;j<=n;j++)
				System.out.printf("* ");
			System.out.printf("\n");
		}

}

平行四邊形實現


import java.util.Scanner;

public class First 
{
	public static void main(String[] args) 
	{
		int i,j,k,n;
		Scanner input=new Scanner(System.in);
		System.out.print("請輸入平行四邊形層數:");
		n=input.nextInt();//外層迴圈控制層數
		for(i=1;i<=n;i++)
		{
			for(k=1;k<=i-1;k++)
				System.out.print(" ");
			for(j=1;j<=2*n;j++)
				System.out.printf("*");
			System.out.printf("\n");
		}
	}
}

java九九乘法表的實現

分析:三角形的變種,利用巢狀for迴圈實現

import java.util.Scanner;

public class First 
{
	public static void main(String[] args) 
	{
		//外迴圈控制行數
		for(int i=1;i<10;i++) 
		{ 
			//內迴圈控制每行表示式個數
			for(int j=1; j<=i; j++) 
			{ 
				System.out.print(" "+i+"*"+j+"="+(i*j)); 
			} 
			//一行結束換行
			System.out.println();
		}
	}
}