java实现“*”的多种星形排列(超详细,基础篇)

引例:

	public static void test(){
    
    
		//输出三角形也好,菱形也罢主要是要搞清楚每行要输出多少,哪里该输出
		//哪里不需要输出。
		//理解好了每行的变化,再写程序就轻松多了。
		//假如要输出一个由7行7列“*”拼凑成的直角三角形

		//不采用嵌套FOR循环时
		for(int y=1 ; y<=1 ; y++){
    
       //输出第一行
			System.out.print("*");
		}

		for(int y=1 ; y<=2 ; y++){
    
       //输出第二行
			System.out.print("*");
		}

		for(int y=1 ; y<=3 ; y++){
    
       //输出第三行
			System.out.print("*");
		}

		for(int y=1 ; y<=4 ; y++){
    
       //输出第四行
			System.out.print("*");
		}

		for(int y=1 ; y<=5 ; y++){
    
       //输出第五行
			System.out.print("*");
		}
		//........等等类似

		/*把关键语句提取出来

		for(int y=1 ; y<=1 ; y++)       //第一行
		for(int y=1 ; y<=2 ; y++)		//第二行
		for(int y=1 ; y<=3 ; y++)		//第三行
		for(int y=1 ; y<=4 ; y++)		//第四行
		for(int y=1 ; y<=5 ; y++)		//第五行

		有没有发现 y<= 的数是很有规律的,y小于的数正好就是
		所在的行数,而且该数是几,这行就要输出几列。

		由此我们把这个数提取出来,用外层for循环来控制。
		就变成了下面的嵌套方式。
		
		*/

	}

第一种:直角三角形

import java.util.Scanner;

class FunctionTest4{
    
    

	public static void main(String[] args){
    
    
		
		Scanner sc = new Scanner(System.in);

		//输入行数x
		System.out.println("请输入行数:");
		int x = sc.nextInt();

		//输入列数
		System.out.println("请输入列数:");
		int y = sc.nextInt();
		
		triangle(x,y);

	}
	/*
		输出直角三角形
		两个明确:
			返回值类型:void
			参数列表:int m,int n
	*/
	public static void triangle(int a,int b){
    
    
		
		for(int x=1; x<=a ; x++){
    
    
			
			for(int y=1; y<=x ; y++){
    
    
				
				System.out.print("*");
			}
			System.out.println();
		}
	}
}
结果展示:

请输入行数:
5
请输入列数:
6
*
**
***
****
*****

类似的应用可以用来写九九乘法表

	public static void multiply(){
    
    

		for(int x=1; x<=9 ; x++){
    
    

			for(int y=1; y<=x ; y++){
    
    
				//前后加空格只不过是为了让输出后的样式整齐一些
				System.out.print(" "+x+"*"+y+"="+x*y+"\t");
			}
			System.out.println();
		}
	}
	
 1*1=1
 2*1=2   2*2=4
 3*1=3   3*2=6   3*3=9
 4*1=4   4*2=8   4*3=12  4*4=16
 5*1=5   5*2=10  5*3=15  5*4=20  5*5=25
 6*1=6   6*2=12  6*3=18  6*4=24  6*5=30  6*6=36
 7*1=7   7*2=14  7*3=21  7*4=28  7*5=35  7*6=42  7*7=49
 8*1=8   8*2=16  8*3=24  8*4=32  8*5=40  8*6=48  8*7=56  8*8=64
 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

第二种:直角倒三角

public static void inverTriangle(int a,int b){
    
    

		for(int x=a; x>=1 ; x--){
    
    
			for(int y=1; y<=x ; y++){
    
    
				System.out.print("*");
			}
			System.out.println();
		}
		
	}
请输入行数:
9
请输入列数:
8
*********
********
*******
******
*****
****
***
**
*

第三种:钝角三角(菱形的雏形)

	public static void star(int a,int b){
    
    
		
		for(int x=1; x<=a ; x++){
    
    
			
			for(int y=1; y<=x ; y++){
    
    
				System.out.print("*");
			}
			System.out.println();
		}
		for(int x=a-1; x>=1 ; x--){
    
    
		
			for(int y=1; y<=x ; y++){
    
    
				System.out.print("*");
			}
			System.out.println();
		}
	}
请输入行数:
7
请输入列数:
7
*
**
***
****
*****
******
*******
******
*****
****
***
**
*

猜你喜欢

转载自blog.csdn.net/zhuyin6553/article/details/103151047