实现接口用空心三角形(空心三角形和实心三角形)

网友投稿 268 2023-01-17


本篇文章给大家谈谈实现接口用空心三角形,以及空心三角形和实心三角形对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。 今天给各位分享实现接口用空心三角形的知识,其中也会对空心三角形和实心三角形进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

五分钟带你读懂UML类图

目录

先看下面这张类图,包括了UML类图的基本图示法

 1、类的表示

 2、接口的表示

3、继承关系

4、实现接口

5、关联关系

6、聚合关系

7、合成(组合)关系

8、依赖关系

先看下面这张类图,包括了UML类图的基本图示法

首先看那个‘动物’矩形框,它就代表一个类(Class)。 类图分三层,第一层显示类的名称, 如果是抽象类,则就用斜体显示 。第二层是类的特性,通常就是字段和属性。第三层是类的操作,通常是方法或行为。注意前面的符号, ‘+' 表示public, '-' 表示private,“#' 表示protected.”

然后注意左下角的‘ 飞翔’,它表示一个 接口图 ,与类图的区别主要是 顶端有《interface》显示 。第一行是接口名称,第二行是接口方法。 接口还有另种表示方法,俗称棒棒糖表示法,就是唐老鸭类实现了‘讲人话’的接口。

继承关系:使用 空心三角形 + 实线 表示

实现接口:使用 空心三角形 + 虚线 表示

企鹅需要“知道” 气候的变化。当一个类“知道” 另一个类的时候,可以使用 关联。关联关系用实线箭头表示。

(在“企鹅”类中有一个属性为“气候”对象) 

我们再来看大雁与雁群这两个类,大雁是群居动物, 每只大雁都是属于一个雁群,一个雁群可以有多只大雁 。所以它们之间就满足 聚合(Aggregation) 关系 。 聚合表示一种弱的‘拥有’关系,体现的是A对象可以包含B对象,但B对象不是A对象的一部分。 聚合关系用 空心的菱形 + 实线箭头  来表示。”

合成(Composition,也有翻译成‘组合’的)是一种强的‘拥有’关系,体现了严格的部分和整体的关系 ,部分和整体的生命周期一样[DPE]。在这里鸟和其翅膀就是合成(组合)关系,因为它们是部分和整体的关系,并且翅膀和鸟的生命周期是相同的。合成关系用 实心的菱形+实线箭头 来表示。另外,你会注意到 合成关系的连线两端还有一个数字'1' 和数字‘2', 这被称为基数。表明这一端的类可以有几个实例, 很显然,一个鸟应该有两只翅膀。 如果一个类可能有无数个实例,则就用‘n'来表示 。关联关系、聚合关系也可以有基数的。

动物几大特征,比如有新陈代谢,能繁殖。而动物要有生命力,需要氧气、水以及食物等。也就是说,动物依赖于氧气和水。他们之间是 依赖关系(Dependency),用虚线箭头来表示。

矩形框的理解笔记(读<<大话设计模式>>)

矩形框的理解

        矩形框顶端表示类名,抽象类的字体是斜体,第二行代表类的特性,通常就是字段以及属性,第三层为类的操作,通常可以是方法和行为."+"表示public "-"表示private,"#"表示protected

接口的两种表示方法:

1.矩形表示法 顶端有<<interface 第一行:接口名称  第二行:接口方法

2.棒棒糖表示法

也是接口  圆圈旁为接口名称   接口方法在实现类里面出现
继承关系:

继承关系用空心三角形+实线来表示
实现接口:用空心三角形+虚线来表示

关联关系:实线箭头来表示,比如企鹅的生存需要气候条件(企鹅类里面有一个气候的属性)

聚合关系(Aggregation):聚合关系表示一种弱的"拥有"关系,即甲对象可以包含乙对象,但是乙对象不是甲对象的一部分,聚合关系用空心的菱形+实线箭头来表示.(这个大雁不一定是这个雁群的一部分,但是雁群是肯定要有大雁的,他们的属性即方法不同后者有一部分属性可以支持前者,但是脱离了前者它又是一个独立的个体,我是这么理解的)

合成(又称组合):是一种强的'拥有'关系,体现了严格的部分和整体的关系,部分和整体的生命周期是一致的,比如鸟拥有翅膀,合成的关系用实心的菱形+实线箭头来表示,左右两边的数字表示一只鸟有两个翅膀

依赖关系:用虚线箭头表示

java打印空心三角型,和等腰三角型,最好带有注释

一:设计思路:

1、空心的等腰三角形,用*作为三角形的边,用空格做格式控制。

2、第一行输出一个*号,且要放在正中央,具体位置需要根据三角形的高度来确定。

3、因为是等腰三角形,所以每一行由*号组成的有效字符串长度比上一行多2个。

4、综合2、3,该三角形的*号间的有效字符串长度,按1、3、5、7...规律变化

5、所以,第一行输出的*号位置由三角形的高决定,设高度为h,则第一行*号位置为第(2*h-1)/2+1,简化后为h(因为单数/2后的0.5在int型变量计算中被忽略)。

6、空心的实现中,从第二行输出*号后开始插入空格,个数每行加2,直到最后一行,不包含最后一行。

二:实现方法

1、定义三角形的高,改变该值,可以改变三角形的大小。

2、根据高度,将*号放在对应h位置,用空格做格式控制,空格个数每行-1。

3、如果是第二行且不是最后一行(大于1且小于h),在输出*号后,输出空格,以后每行多输出两个空格

4、最后一行全部输出*号

//java代码:设计空心等腰三角形
public class IsoscelesTriangleTest {
/**
 * 一:设计思路:
 * 1、空心的等腰三角形,用*作为三角形的边,用空格做格式控制。
 * 2、第一行输出一个*号,且要放在正中央,具体位置需要根据三角形的高度来确定。
 * 3、因为是等腰三角形,所以每一行由*号组成的有效字符串长度比上一行多2个。
 * 4、综合2、3,该三角形的*号间的有效字符串长度,按1、3、5、7...规律变化
 * 5、所以,第一行输出的*号位置由三角形的高决定,设高度为h,则第一行*号位置为第(2*h-1)/2+1,
 * 简化后为h(因为单数/2后的0.5在int型变量计算中被忽略)。
 * 6、空心的实现中,从第二行输出*号后开始插入空格,个数每行加2,直到最后一行,不包含最后一行。
 * 二:实现方法
 * 1、定义三角形的高,改变该值,可以改变三角形的大小。
 * 2、根据高度,将*号放在对应h位置,用空格做格式控制,空格个数每行-1。
 * 3、如果是第二行且不是最后一行(大于1且小于h),在输出*号后,输出空格,以后每行多输出两个空格
 * 4、最后一行全部输出*号
 * 三:图示,5层空心等腰三角形
 *        *
 *       * *
 *      *   *
 *     *     *
 *    *********
 * 
 * */

//定义三角形的高度,改变此值,可改变三角形的大小,必须大于等于2
public static final int HEIGHT = 9;

public static void main(String[] args) {
// TODO Auto-generated method stub

int count = HEIGHT - 1; //定义输出空格个数,初值为第一行要输出的空格个数

System.out.println("空心等腰三角形,高度:"+HEIGHT);

for(int row = 1;row <= HEIGHT;row++,count--){

//输出空格
for(int i = 0;i < count;i++){
System.out.print(" ");
}
System.out.print("*");

//是第一行,则直接换行,最后一行输出全部*号,否则从第二行开始输出空格,每行+2
if(row == 1){
System.out.println();
}else if(row == HEIGHT){
for(int i = 0;i < row*2-2;i++){
System.out.print("*");
}
System.out.println();
}else if(row  1  row < HEIGHT){
for(int i = 0;i < row*2-3;i++){
System.out.print(" ");
}
System.out.println("*");
}
}
}
}

运行结果图:

理解思路和实现方法后,阅读代码会简单些,注意格式控制中的算式,都是有规律可循的。

如何用java程序实现一个空心直角三角形

package com.tx.test;


public class Kong {


public static void main(String[] args) {

for(int i=0; i<10; i++) {

for(int j=0; j<2*i +1; j++) {

if(j==0 || j == 2*i || i==9 ) {

System.out.print("*");

}else {

System.out.print("  ");//两个空格

}

}

System.out.println();

}

}

}

结果:

求用c语言输入空心正三角形,感谢了

//希望实现接口用空心三角形我的回答对你的学习有帮助
#include <stdio.h
int main()
{
int side;
while (1)
{
scanf("%d", side);
if (side == 0) break; //边长为 0实现接口用空心三角形,结束程序
for (int i = 0; i < side - 1; i++)
{
for (int j = 1; j <= side * 2; j++)
{
if (j == side + i || j == side - i) printf("*");
else printf(" ");
}

printf("\n");
}
for (int j = 1; j <= side * 2; j++) //最后一行特殊处理
{
if (j % 2 != 0) printf("*");
else printf(" ");
}
printf("\n");
}

return 0;
}

java用“*”做一个空心直角三角形是什么代码?

public static void main(String[] args){
for(int i=0;i<6;i++){
for(int j=0;j<=i;j++){
if(i!=5){
if(j==0||j==i){
System.out.print("*");
}else{
System.out.print(" ");
}
}else{
System.out.print("*");
}
}
System.out.println();
}
}
希望对实现接口用空心三角形你有些帮助,算法可能不太简洁. 关于实现接口用空心三角形和空心三角形和实心三角形的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。 实现接口用空心三角形的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于空心三角形和实心三角形、实现接口用空心三角形的信息别忘了在本站进行查找喔。

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:只需两步实现Eclipse+Maven快速构建第一个Spring Boot项目
下一篇:Spring Boot配置拦截器及实现跨域访问的方法
相关文章

 发表评论

暂时没有评论,来抢沙发吧~