Java实现实体菱形图案

Java实现实体菱形图案

1.实现原理

实现原理 => 空格个数+菱形个数+空格个数
在这里插入图片描述

2.实现效果

实现后如下图,通过输入边数获取对应的实体菱形
在这里插入图片描述

三边菱形
在这里插入图片描述
四边菱形

3.实现代码

代码如下:


/**
 * 菱形
 * 
 * @author Administrator
 *
 */
public class Rhombus {

	public static void main(String[] args) {
		getRhombus(4);
	}

	/**
	 * 根据输入的菱形边数得到对应菱形
	 * 
	 * 实现方式-> 空格个数+菱形个数+空格个数
	 * 
	 * @param side
	 */
	public static void getRhombus(int side) {
		
		// 2n-1
		int sideCount = side * 2 - 1;

		// 菱形下标
		int sideIndex = 0;

		for (int i = 1; i <= sideCount; i++) {
			// 上半部分
			sideIndex++;

			// 左边空格或者右边空格
			int leftS = (side - sideIndex) < 0 ? -(side - sideIndex) : (side - sideIndex);
			int centerS = sideCount - (leftS * 2);

			// 左边空格
			for (int j = 0; j < leftS; j++) {
				System.out.print(" ");
			}

			// 中间菱形
			for (int j = 0; j < centerS; j++) {
				System.out.print("*");
			}

			// 右边空格
			for (int j = 0; j < leftS; j++) {
				System.out.print(" ");
			}

			// System.out.print(" " + leftS + "个' '+" + centerS + "个*+" + leftS + "个' '");//
			// 8-
			System.out.println();

		}

	}

}

### UML类图中的符号和图案解释 #### 1. **类的定义** UML类图用来描述系统的静态结构,其中类是核心元素之一。类包含了数据和行为,代表了一组具有相同属性、操作以及关系的对象集合[^1]。 #### 2. **接口的表现形式** 在UML中,接口可以通过两种方式表现:一种是一个带有名称的小圆圈;另一种则是通过带有`<<interface>>`构造型的类来表示[^2]。 #### 3. **类之间的关系及其符号意义** ##### (1)**关联(Association)** - 关联是一种语义上的连接,通常表现为两个类之间存在某种交互或协作的关系。 - 如果是双向关联,则意味着两个类互相知道对方的存在,并可以调用彼此的公共属性和方法。这种关系在设计阶段较少使用,因为更具体的实现通常是单向的引用或指针[^3]。 代码示例: ```cpp class C1 { public: C2* theC2; }; class C2 { public: C1* theC1; }; ``` ##### (2)**依赖(Dependency)** - 当一个类的方法中引用了另一个类的实例时,就形成了依赖关系。相比关联,依赖的程度较弱,因为它仅限于方法层面的操作[^4]。 图形化表示为一条虚线箭头指向被依赖的一方。 --- ##### (3)**泛化(Generalization)** - 泛化是指子类继承父类的一种关系,在UML中用实心三角形加直线表示。这体现了“is-a”的关系。 代码示例: ```java class ParentClass { } class ChildClass extends ParentClass { } ``` --- ##### (4)**实现(Realization)** - 实现关系存在于类与接口之间,表明某类实现了特定接口的功能。在UML中,该关系以带空心三角形的虚线表示。 代码示例: ```java interface MyInterface {} class MyClass implements MyInterface {} ``` --- ##### (5)**聚合(Aggregation)** - 聚合体现的是整体与部分的关系,“has-a”性质较为松散。如果删除整体对象,其部件仍然可能独立存在。 图形化显示为空心菱形连向整体端。 --- ##### (6)**组合(Composition)** - 组合同样是整体与部分的关系,但它更加紧密。“part-of”特性严格绑定在一起,当整体销毁时,所有组件也会随之消失。 图形化展示为实心菱形朝向整体方向。 --- ### 总结表 | **关系类型** | **特点** | **符号说明** | |--------------|------------------------------|-------------------------------| | 关联 | 表达两实体间的互动 | 连接线 | | 依赖 | 方法级引用 | 虚线箭头 | | 泛化 | 子类继承父类 | 带实心三角形的连线 | | 实现 | 接口功能具体化 | 带空心三角形的虚线 | | 聚合 | 整体与部分间较宽松联系 | 空心菱形至整体 | | 组合 | 更强的整体与部分约束 | 实心菱形至整体 | ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值