五十道编程小题目 --- 19 打印菱形 java

本文介绍了一个使用Java编写的简单程序,该程序能够根据用户输入的行数打印出两个不同的菱形图案。通过循环结构控制空格和星号的输出,实现了菱形的正三角和倒三角组合。

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

【程序19】 

题目:打印出如下图案(菱形) 

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

和图形


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



import java.util.Scanner;

public class Test19 {
	
	public static void main(String[] args) {
		
		Scanner s = new Scanner(System.in);
		System.out.println("打印菱形--->请输入三角形的行数:");
		int n = s.nextInt();
		
		
		System.out.println("菱形:");
		//正三角
		for(int i=0; i<n; i++){
			for(int j=i; j<n ; j++){
					System.out.print(" ");
			}
			for(int k=0; k<(i+1)*2-1 ; k++){
				System.out.print("*");
		}
			System.out.println();
		}
		//倒三角
		for(int i=n-1; i>0; i--){
			for(int j=i-1; j<n ; j++){
				System.out.print(" ");
			}
			for(int k=i*2-1; k>0 ; k--){
				System.out.print("*");
		}
			System.out.println();
		}
		
		//另个图形
		System.out.println("另个图形:");
		for(int h=0; h<n; h++){
			for(int g=0; g<(h+1)*2-1; g++){
				System.out.print("*");
			}
			System.out.println();
		}
		for(int h=n-1; h>0; h--){
			for(int g=h*2-1; g>0; g--){
				System.out.print("*");
			}
			System.out.println();
		}
		
		 
	}

}
输出结果:


打印菱形--->请输入三角形的行数:
4
菱形:
    *
   ***
  *****
 *******
  *****
   ***
    *
另个图形:
*
***
*****
*******
*****
***
*







### Java 打印菱形图案的基础教程 在学习 Java 的过程中,掌握基本的控制结构(如 `for` 循环)是非常重要的。通过这些基础技能,可以实现许多有趣的图形打印功能,比如菱形图案。 #### 菱形图案的核心逻辑 要打印一个完整的菱形图案,通常分为两个部分来处理: 1. 上半部分:从一行星号开始逐渐增加每行的星号数量。 2. 下半部分:从少于上半部分的最后一行星号数开始逐步减少星号的数量。 以下是具体的代码实现: ```java public class DiamondPattern { public static void main(String[] args) { int n = 5; // 定义菱形的高度的一半加一 // 打印上半部分 for (int i = 1; i <= n; i++) { for (int j = 1; j <= n - i; j++) { System.out.print(" "); // 输出空白字符用于对齐 } for (int k = 1; k <= 2 * i - 1; k++) { System.out.print("*"); // 输出星号形成菱形形状 } System.out.println(); } // 打印下半部分 for (int i = n - 1; i >= 1; i--) { for (int j = 1; j <= n - i; j++) { System.out.print(" "); // 输出空白字符用于对齐 } for (int k = 1; k <= 2 * i - 1; k++) { System.out.print("*"); // 输出星号形成菱形形状 } System.out.println(); } } } ``` 上述代码中,外层循环负责每一行的操作,而内层嵌套循环分别用来打印空格和星号[^1]。注意,在打印上下两部分时,需要调整星号和空格的数量以保持对称性。 #### 关键点解析 - **空格的作用**:为了使菱形居中显示,必须先打印一定数量的空格再打印星号。 - **星号计算公式**:对于任意第 `i` 行,其对应的星号总数为 `(2*i)-1`。 - **循环范围的选择**:上半部分从第一行到中间行结束;下半部分则从中间行减一开始直到最后一行完成。 此方法不仅适用于简单的菱形绘制,还可以扩展至其他复杂几何图形的设计之中[^3]。 #### 进一步练习建议 尝试修改以上程序中的变量 `n` 来观察不同大小的菱形效果,并思考如何进一步优化该算法使其更加灵活高效。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值