打印星号等腰三角与菱形

本文介绍了如何使用Java编程打印星号等腰三角形和菱形。内容包括两种方法来创建星号三角形,并讲解了构建菱形的思路,将菱形视为两个等腰三角形的组合,提供了倒三角的公式和数学解析,帮助理解行号与星号数量的关系。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

打印星号三角 菱形

星号三角形

在这里插入图片描述

方法一

import java.util.Scanner;
public class Main{
    public static void main(String [] args){
        Scanner in=new Scanner(System.in);
        int n = in.nextInt();                    //用户输入一共n行
        int i = 1;                                     //i表示第i行
        while(i<=n) {
    	 for(int count = 1;count<=n-i;count++)  // ***引入计数器count***
    	  {
    		 System.out.print(" ");//观察发现,需先打印有规律1的空格。一个个的打印空格。
    	 }     
    	 for(int count = 1;count<=2*i-1;count++)
    	 {
    		 System.out.print("*");//规律2,一个一个打印星号
    	 }
    	 i++;
    	 System.out.println();}
    	 }
    	 }
 注:规律1:空格数为最多的星号的数量减去第i行星号数的差除以二,即为第i行有n-i个空格。
 规律2:i=1时,星号有1个
	 i=2时,星号有3个
	 以此类推  第i行须用循环打印出2*i-1个星号
	 besides.循环结构由内向外运行,内部一次循环输出一行空格与星号后,需要换行,因此用while循环中最后用println。

方法二

import java.util.Scanner;
public class Main{
    public static void main(String [] args){
        Scanner in=new Scanner(System.in);
        int n = in.nextInt();
        int i = 1;
        String sum = "*";
       while(i<=n)
       {
    	   for(int count = 1;count <=n-i;count++)
    	   {
    		   System.out.print(" ");
    	   }
    	    System.out.print(sum);
    	   sum = sum+"**";
    	   i++;
    	   System.out.println();
       }
    	 //用字符串循环来做会简单,但空格递减不容易用
     
    
}
}

星号菱形

在这里插入图片描述
用户输入星号菱形的边长

import java.util.Scanner;
public class Main{
	public static void main(String [] args){
		Scanner in=new Scanner(System.in);
		int n = in.nextInt();
		int i = 1;
		int a = 1;
		while(i<=n) {
			for(int count = 1;count<=n-i;count++) {
				System.out.print(" ");
			}
			for(int count = 1;count<=2*i-1;count++)
			{
				System.out.print("*");
			}
			i++;
			System.out.println();}
		while(a<=n-1){
			for(int count = 1;count<=a;count++)
			{
				System.out.print(" ");
			}
			for(int count = 1;count<=2*(n-a)-1;count++)
			{
				System.out.print("*");
			}a++;
			System.out.println();
		}
}
}

等腰星号三角形的基础掌握后,就可以把菱形看作两个三角形拼接,一个行数为菱形边长,一个为倒三角,行数为菱形边长减1,倒三角行思想相同。
在此只解释倒三角部分的数据:便于理解,a为倒三角第a行。第a行的空格有a个;第a行星号数为2*(n-a)-1 找规律
倒三角也可以用以下:

 while(i<=2*n-1){
    		 for(int count = 1;count<=i-n;count++)
    		 {
    			 System.out.print(" ");
    		 }
    		 for(int count = 1;count<=2*(2*n-i)-1;count++)
    		 {
    			 System.out.print("*");
    		 }i++;
    		 System.out.println();
    	 }

此时不在引用a,仍用i
用数学方法知道倒三角第i行相当于正三角的2n-i行
则第i行星号数为 2(2n-i)-1。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值