JAVA-打印星号三角形

一、题目要求

在类中定义一个静态方法printStar,该方法没有返回值,需要一个整形参数number,在主方法中调用这个方法,调用该方法,输入值6和值10时得到下图的结果。
6
10

二、解题思路

通过观察我们可以发现每一行前面的空格数等于总行数-当前行数。之后我们又可以得出除了首尾两行,中间的行都是打星号,再打空格最后又是星号。所以可以用if语句进行判断这三种情况:
①第一行时打印一个星号。
②最后一行时打印2xnumber-1(number总行数)个星号。
③其余情况打印一个星号,再打印2xi-3(i为当前行数)个空格,再打印个星号。
流程控制结构清楚后我们就可以开始编写代码啦~

三、代码实现

定义静态printStar方法

class A{
    
    
	public static void printStar(int number){
    
    
		for(int i=1;i<=number;i++) {
    
    
			for(int m=0;m<number-i;m++) {
    
    
				System.out.print(" ");
			}
			if(i==1) {
    
    
				System.out.println("*");
			}
			else if(i==number) {
    
    
				for(int n=1;n<=2*number-1;n++) {
    
    
					System.out.print("*");
				}
				System.out.println("\n");
			}
			else {
    
    
				System.out.print("*");
				for(int p=1;p<=2*i-3;p++) {
    
    
					System.out.print(" ");
				}
				System.out.println("*");
			}
		}
	}
}

在测试类中调用

public class Test {
    
    

	public static void main(String[] args) {
    
    
		
		//A类静态方法调用(直接调用)
		A.printStar(6);
		//A类非静态方法调用(需新建对象),即将方法头的static关键字去掉,方法名重命名为unprintStar
		A star=new A();
		star.unprintStar(10);
	}
}

四、运行结果

星型三角形
整体实现就是这样啦~如果还有关于静态、非静态方法不清楚的朋友欢迎留言讨论!

猜你喜欢

转载自blog.csdn.net/Crush_wen/article/details/109301288
今日推荐