打印不同的图形-课后程序(JAVA基础案例教程-黑马程序员编著-第四章-课后作业)

news2024/10/2 16:21:55

【案例4-1】打印不同的图形

记得 关注,收藏,评论哦,作者将持续更新。。。。

【案例介绍】

  1. 案例描述

本案例要求编写一个程序,可以根据用户要求在控制台打印出不同的图形。例如,用户自定义半径的圆形和用户自定义边长的正方形。

  1. 运行结果

 

【案例分析】

1)创建父类MyPrint类,包含show()方法,用于输出图形的形状。

2)创建子类MyPrintSquare类,重写show ()方法,用*打印出边长为5的正方形。

3)创建子类MyPrintCircle类,重写show ()方法, *打印出半径为5的圆。 

4)创建测试类,设计一个myshow(MyPrint a)方法,实现输出的功能:如果为MyPrintSquare, 输出边长为5的正方形,如果为MyPrintCircle对象,输出半径为5的圆;主函数中创建MyPrintSquareMyPrintCircle的对象,分别调用myshow,检查输出结果。

【案例实现】

MypointTest.java

  1. abstract class MyPoint {
  2.     public abstract void show();
  3. }
  4. //打印正方形
  5. class MyPrintSquare extends MyPoint {
  6.     @Override
  7.     public void show() {
  8.         for(int i=0;i<5;++i){
  9.             for(int j=0;j<5;++j){
  10.                 if(j==0 || j==4)
  11.                     System.out.print('*');
  12.                 else if(i==0 || i==4)
  13.                     System.out.print('*');
  14.                 else System.out.print(' ');
  15.             }
  16.             System.out.println();
  17.         }  
  18.     }
  19. }
  20. //打印圆形
  21. class MyPrintCircle implements MyPoint{
  22.     @Override
  23.     public void show() {
  24.         for (int y = 0; y <= 2 * 5; y += 2) {
  25.             int x = (int)Math.round(5 - Math.sqrt(2 * 5 * y - y * y));
  26.             int len = 2 * (5 - x);
  27.             for (int i = 0; i <= x; i++) {
  28.                 System.out.print(' ');
  29.             }  
  30.             System.out.print('*');
  31.             for (int j = 0; j <= len; j++) {
  32.                 System.out.print(' ');
  33.             }
  34.             System.out.println('*');
  35.     }
  36.    }
  37. }
  38. public class MyPointTest {
  39.     public static void myShow(MyPoint a){
  40.         a.show();
  41.     }
  42.     public static void main(String[] args){
  43.         MyPoint mp1 = new MyPrintSquare();
  44.         MyPoint mp2 = new MyPrintCircle();
  45.         myShow(mp1);
  46.         myShow(mp2);
  47.     }
  48. }

在上述代码中,第1~3行代码创建了一个抽象类MyPrint类,在MyPrint类中创建了一个show()方法用于输出图形的形状。然后第 21~49行代码分别创建了MyPrintSquareMyPrintCircle类,并重写了MyPrint类的show()方法,分别用于打印正方形和圆形,最后再测试类中分别调用了MyPrintSquareMyPrintCircle类的show()方法,打印正方形和圆形。

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/352498.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

MyBatis-Plus快速入门篇

入门篇1.快速入门1.1数据库准备1.2创建SpringBoot工程&#xff0c;引入MyBatis-Plus和MySQL依赖&#xff0c;可以使用 Spring Initializer快速初始化一个 Spring Boot 工程1.3编写DataSource相关配置&#xff08;配置MySQL数据库连接&#xff09;1.4编码1.5测试2.使用MybatisPl…

【论文阅读】Frustratingly Simple Few-Shot Object Detection

从几个例子中检测稀有物体是一个新出现的问题。 先前的工作表明Meta-Learning是一种有希望的方法。 但是&#xff0c;微调技术很少引起注意。 我们发现&#xff0c;在稀有类上只对现有探测器的最后一层进行微调对于 Few-Shot Object Detection至关重要。 这样一种简单的方法在当…

Yaklang XSS 检测启发式算法(被动扫描插件)

背景 上一篇介绍了XSS 启发式检测基础设施&#xff0c;本篇通过yak提供的基础设施编写一个xss检测插件。 本次xss靶场使用pentesterlab的xss靶场。 环境部署 git clone https://github.com/yaklang/vulinone cd php-web-for-pentester docker-compose up -d编写思路 参考上…

matlab-汽车四分之一半主动悬架模糊控制

1、内容简介汽车四分之一半主动悬架模糊控制651-可以交流、咨询、答疑2、内容说明半主动悬架汽车 1/4 动力学模型建立 本章主要对悬架类型进行简要介绍&#xff0c;并对其进行对比分析&#xff0c;提出半主动悬架的优越性&#xff0c;论述半主动悬架的工作原理&#xff0c;并对…

语音播报警示器技术要求

功能概述&#xff1a; 本系统采用30W太阳能板给12AH铅酸胶体电池充电&#xff1b;通过人体红外探测传感器&#xff0c;能感应到12米范围内有人有车经过&#xff0c;就触发播报防火宣传的语音&#xff0c;并且大红闪灯同步闪烁警示&#xff1b;高清双侧宣传牌&#xff0c;宣传内…

XSS注入基础入门篇

XSS注入基础入门篇1.XSS基础概念2. XSS的分类以及示例2.1 反射型XSS2.1.1 示例1&#xff1a;dvwa low 级别的反射型XSS2.1.2 攻击流程2.2 DOM型XSS2.2.1 示例2&#xff1a;DOM型XSS注入1.环境部署2.基础版本3.进阶绕过2.3 存储型XSS2.3.1 示例1&#xff1a;dvwa low示例2.3.2 攻…

WebADI - 参数的使用

* 本文仅供交流分享&#xff0c;不作为专业指导 最近研究了一下WEBADI文档下载的参数&#xff0c;由于网上这块资料较少&#xff0c;所以专意分享下我的笔记。 准备 集成器&#xff1a;BHSC_EMP_ADI 表值集&#xff1a;BHSC_DEPT_LOV&#xff08;值&#xff1a;dname&#x…

c++学习笔记-提高编程-模板(哔站-黑马程序员c++教学视频)

目录 1、模板概念 2、模板特点 3、模板语法 3.1编程思想&#xff1a;泛型编程 3.2两种模板方法&#xff1a; 3.2.1 函数模板 3.2.2 类模板 1、模板概念 通用的模具&#xff0c;提高代码复用性 2、模板特点 不可以直接使用&#xff0c;只是一个框架&#xff1b;模板的…

JMeter 做接口性能测试,YYDS

简介 本文由xmeter君写给想了解性能测试和JMeter的小白&#xff0c;适合对这两者了解很少的同学们&#xff0c;如果已经有使用经验的请绕道&#xff0c;别浪费时间:-) 我们将介绍JMeter的使用场景&#xff0c;如何安装、运行JMeter&#xff0c;以及开始一个最最简单的测试。 …

房产|1月全国70城房价出炉!疫情放开后你关心的城市房价有何变化

2023年1月份&#xff0c;70个大中城市中新房销售价格环比上涨城市个数增加&#xff1b;一线城市新房销售价格环比同比转涨、二三线城市环比降势趋缓&#xff0c;二三线城市同比下降。 | 新房/二手房12月-1月环比上涨城市数量变化 70个大中城市中&#xff0c;新房环比上涨城市…

RBAC(Role-Based Access Control:基于角色的访问控制)

RBAC是什么 1、RBAC模型概述 RBAC模型&#xff08;Role-Based Access Control&#xff1a;基于角色的访问控制&#xff09;模型是20世纪90年代研究出来的一种新模型&#xff0c;但其实在20世纪70年代的多用户计算时期&#xff0c;这种思想就已经被提出来&#xff0c;直到20世…

控制层类上的注解、业务层的注入、URL映射、参数接收、返回数据及网页模板、RESTful

控制类的作用&#xff1a; 处理http的请求&#xff0c;从HTTP请求中获得信息&#xff0c;提取参数&#xff0c;并分发给不同的处理服务&#xff0c;处理之后封装成一个Model &#xff0c;然后再把该Model返回给对应的View进行展示。 控制层类上的注解 Controller&#xff1a;…

科技爱好者周刊之爱好者记录

前言 平时浏览的内容杂七杂八&#xff0c;说好听一些叫做“内容丰富&#xff0c;涉猎甚广”&#xff0c;实际一些则是受到主流大环境的冲击加之自身的控制力尚且不足。 有过类似经历的人大多知道&#xff0c;碎片化的信息除了填充大脑的冗余空间&#xff0c;在短期时间内就会被…

AMBA低功耗接口规范(Low Power Interface Spec)

1.简介 AMBA提供的低功耗接口&#xff0c;用于实现power控制功能。目前AMBA里面包含2种低功耗接口&#xff1a; Q-Channel&#xff1a;实现简单的power控制&#xff0c;如上电&#xff0c;下电。 P-Channel&#xff1a;实现复杂的power控制&#xff0c;如全上电&#xff0c;半上…

今天面了个腾讯拿28K出来的,让我见识到了测试基础的天花板...

公司前段缺人&#xff0c;也面了不少测试&#xff0c;结果竟然没有一个合适的。 一开始瞄准的就是中级的水准&#xff0c;也没指望来大牛&#xff0c;提供的薪资在10-20k&#xff0c;面试的人很多&#xff0c;但平均水平很让人失望。 看简历很多都是3年工作经验&#xff0c;但…

每天10个前端小知识 【Day 17】

前端面试基础知识题 1.使用原生js实现以下效果&#xff1a;点击容器内的图标&#xff0c;图标边框变成border:1px solid red&#xff0c;点击空白处重置 const box document.getElementById(box); function isIcon(target) { return target.className.includes(icon); } b…

【Unity VR开发】结合VRTK4.0:设置抓取时可交互对象的方向

语录&#xff1a; 取酒酿晚风&#xff0c;赠我一场空。 前言&#xff1a; 获取可交互对象的默认方法是将可交互对象的原点与交互器的原点对齐。此机制适用于基本抓取&#xff0c;但有时当您想要抓取某个对象时&#xff0c;您可能希望将可交互对象定向到特定位置并旋转到交互器…

【免费教程】SWAT模型及在面源污染中的应用与案例分析

SWATSWAT&#xff08;Soil and Water Assessment Tool&#xff09;是由美国农业部&#xff08;USDA&#xff09;的农业研究中心Jeff Arnold博士1994年开发的。模型开发的最初目的是为了预测在大流域复杂多变的土壤类型、土地利用方式和管理措施条件下&#xff0c;土地管理对水分…

mysql 按时间倒排序深翻页思考

背景深翻页&#xff0c;可以用id做为偏移量&#xff0c;但如果是uuid时&#xff0c;或需求是要按时间排序时&#xff0c;深翻页就是一个问题了。如果要按最后修改时间倒排序&#xff0c;把时间做索引是可以&#xff0c;但有可能时间是有重的&#xff0c;这样结果就可能不准确这…

【Deformable Convolution】可变形卷积记录

every blog every motto: You can do more than you think. https://blog.csdn.net/weixin_39190382?typeblog 0. 前言 可变形卷积记录 1. 正文 预印版&#xff1a; Deformable Convolutional Networks v1 Deformable ConvNets v2: More Deformable, Better Results 发表版…