6 zzuliPTA家庭土地管理
小明家住农村,家里有几块形状不同的地,请帮助小明计算下他家地的总面积和人均面积。系统包括家庭类,Shape接口,园类以及长方形类。其中园类和长方形类实现Shape接口。
Family类包含属性numPeople描述家庭人数,数组shapes描述小明家所拥有的几块土地,方法 getTotalArea(), getAvgArea()分别求出家庭总土地面积和人均土地面积。
属性numPepole 和shapes值在运行时通过键盘给出。
请完成下列代码
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
//输入土地数 input area number
int areanum = input.nextInt();
//输入家庭人数 peoplenum
int peoplenum = input.nextInt();
//创建土地数组 根据土地数 new Shape Array based on areanum
Shape []shapes = 【】;
for(int i=0;i<shapes.length;i++){
String str = input.next();
if(str.equals("cir")){ //判断是否是圆形土地
double r = input.nextDouble(); //输入圆形土地的半径
【】 //创建圆形土地对象,并放入shapes数组
}
else
if(str.equals("rec")){
double height = input.nextDouble();
double width = input.nextDouble();
【】//创建长方形土地对象,并放入shapes数组
}
}//for 结束
//创建家庭对象小明,将小明家的人数和土地传入
Family xiaoming = new Family(peoplenum,shapes);
//求小明家总土地面积
double totalArea =【】;
//求小明家人均土地面积
double avgArea =【】;
System.out.printf("total Area is:%.2f\n",totalArea);
System.out.printf("average Area is:%.2f\n",avgArea);
}
}
//定义接口Shape
【】 Shape {
//定义方法double getArea();
【】;
}
class Circle [ ]Shape {
private double radius;
@Override //重写方法getArea()
[]
public Circle() {
this(1);
}
public Circle(double radius) {
setRadius(radius);
}
public double getRadius() {
return radius;
}
public void setRadius(double radius) {
this.radius = radius;
}
}
class Rectangle[] Shape{
private double height,width;
//方法重写
【】
public Rectangle(double height, double width) {
super();
this.height = height;
this.width = width;
}
public Rectangle() {
this.width = height =1;
}
public double getHeight() {
return height;
}
public void setHeight(double height) {
this.height = height;
}
public double getWidth() {
return width;
}
public void setWidth(double width) {
this.width = width;
}
}
class Family{
private int numPeople; //人口数
private Shape[] shapes;//家庭拥有土地
public Family(int numPeople, Shape[] shapes) {
this.numPeople = numPeople;
this.shapes = shapes;
}
public double getTotalArea(){
double sum =0;
//求家庭土地总面积,将shapes数组中每一个土地求面积相加求和
【】
return sum;
}
//求家庭人均土地面积
public double getAvgArea(){
【】
}
public int getNumPeople() {
return numPeople;
}
public void setNumPeople(int numPeople) {
this.numPeople = numPeople;
}
public Shape[] getShapes() {
return shapes;
}
public void setShapes(Shape[] shapes) {
this.shapes = shapes;
}
}
import java.util.Scanner;public class Main {public static void main(String[] args) {Scanner input = new Scanner(System.in);//输入土地数 input area numberint areanum = input.nextInt();//输入家庭人数 peoplenumint peoplenum = input.nextInt();//创建土地数组 根据土地数 new Shape Array based on areanumShape []shapes = new Shape[areanum];for(int i=0;i<shapes.length;i++){String str = input.next();if(str.equals("cir")){ //判断是否是圆形土地double r = input.nextDouble(); //输入圆形土地的半径shapes[i]=new Circle(r); //创建圆形土地对象,并放入shapes数组}elseif(str.equals("rec")){double height = input.nextDouble();double width = input.nextDouble();shapes[i]=new Rectangle(height,width) ;//创建长方形土地对象,并放入shapes数组}}//for 结束//创建家庭对象小明,将小明家的人数和土地传入Family xiaoming = new Family(peoplenum,shapes);//求小明家总土地面积double totalArea = xiaoming.getTotalArea();//求小明家人均土地面积double avgArea = xiaoming.getAvgArea();System.out.printf("total Area is:%.2f\n",totalArea);System.out.printf("average Area is:%.2f\n",avgArea);}}
//定义接口Shapeinterface Shape {//定义方法double getArea();double getArea();}class Circle implements Shape {
private double radius;@Override //重写方法getArea()public double getArea()
{return radius*radius*Math.PI;
}public Circle() {this(1);}public Circle(double radius) {setRadius(radius);}public double getRadius() {return radius;}public void setRadius(double radius) {this.radius = radius;}}class Rectangle implements Shape{
private double height,width;//方法重写@Overridepublic double getArea() {return (height*width);}public Rectangle(double height, double width) {super();this.height = height;this.width = width;}public Rectangle() {this.width = height =1;}public double getHeight() {return height;}public void setHeight(double height) {this.height = height;}public double getWidth() {return width;}public void setWidth(double width) {this.width = width;}}
class Family{private int numPeople; //人口数private Shape[] shapes;//家庭拥有土地public Family(int numPeople, Shape[] shapes) {this.numPeople = numPeople;this.shapes = shapes;}public double getTotalArea(){double sum =0;//求家庭土地总面积,将shapes数组中每一个土地求面积相加求和for(int i=0;i< shapes.length;i++){sum=sum+shapes[i].getArea();}return sum;}//求家庭人均土地面积public double getAvgArea(){double renjun;renjun=getTotalArea()/getNumPeople();return renjun;}public int getNumPeople() {return numPeople;}public void setNumPeople(int numPeople) {this.numPeople = numPeople;}public Shape[] getShapes() {return shapes;}public void setShapes(Shape[] shapes) {this.shapes = shapes;}}
6 zzuliPTA家庭土地管理相关推荐
- PTA 6 家庭土地管理 分数 10
此题包含的内容很充足,很适合小白练习,唯一的缺点就是,已知给的太多了.出题人太贴心了,我直接哭死.不过完完整整写出此题整体的代码,也算是达到了封装继承的入门级别了. 题目很长,可以跳过(doge): ...
- 第二十章 我国农村土地管理
农村改革解说(专著)第二十章上 第二十章 我国农村土地管理上 1.为什么进行农村土地管理? 农村土地管理,就是对农村的集体所有制的土地进行管理.它不仅包括对现有耕地的管理,而且还包括对草原.山地.林地 ...
- VLOG丨树莓派Raspberry Pi 3安装PLEX并挂载USB硬盘打造最牛的微型家庭影音服务器2018...
视频介绍 树莓派3安装目前最流行的PLEX服务器,实现既能最大限度降低功耗,也能随时随地观看分享影片. 一.在树莓派下安装PLEX媒体服务器 1.在终端,将你的树莓派更新至最新 sudo apt up ...
- mysql存储家庭成员信息_家谱管理系统的设计与实现(MyEclipse,MySQL)
家谱管理系统的设计与实现(MyEclipse,MySQL)(任务书,开题报告,中期检查表,文献综述,毕业论文16700字,程序代码,MySQL数据库,答辩PPT) 家谱是现代人们怀旧的重要部分,因此, ...
- 家庭局域网开启AP隔离利用无线路由器互连
一开始可以上网,可以ping网关192.168.1.1,但是几台电脑之间就是不能互ping. 其实,真实的原因就是没有开启无线路由器的AP隔离. 在浏览器中输入192.168.1.1进入路由搜索一般用 ...
- Java项目:家庭理财系统(java+SSM+JSP+Tomcat8+Mysql)
源码获取:博客首页 "资源" 里下载! 一.项目简述 功能:家庭理财,财务分析,统计等等. 二.项目运行 运行环境: jdk8+tomcat8+mysql+IntelliJ IDE ...
- Java项目:家庭财务管理系统(java+Springboot+ssm+mysql+maven)
源码获取:博客首页 "资源" 里下载! 一.项目简述 功能: 家庭财务管理系统,具有收入统计,支出统计,汇总报 表,工资录入,其他收入等录入开支信息,echart图标插 件弓I入展 ...
- Wink发布Wink Hub2家庭物联网控制中心
智能家居主要厂商之一Wink宣布推出Wink Hub2家庭物联网控制中心,支持更多的家庭物联网产品,更广泛的互联互通,以及提供更好用的控制程序.Wink Hub2主要作用是连接第三方家庭物联网产品,并 ...
- 转《刘润的数字化家庭》
数字家庭也是我的一大梦想,感谢刘润让我的想法更加丰富和具体... 转载自刘润的博客,原文地址:http://blog.run2me.com/runliu/archive/2010/06/12/3708 ...
最新文章
- 2021年大数据ELK(四):Lucene的美文搜索案例
- Matlab R2016a中如何完美运行“mex-setup”
- python--gevent高并发socket
- 关于python语言、下列说法不正确的是-关于Python中的字符串,下列说法错误的是()...
- Python 微信机器人:属于自己的微信机器人制作,简单易懂。图灵机器人接口api调用
- 关于10g RAC监听设置,tnsnames.ora设置,VIP及客户端配置问题
- HBase中Bloomfilter类型的设置及使用的理解
- Mom and Dad
- mysql的条件求和函数_使用SQL语句统计数据时sum和count函数中使用if判断条件的讲解...
- windbg调试句柄泄露
- 搭建Discuz论坛的两种方式
- java的恐怖推理游戏_胆小勿入!盘点一下2019年所有的恐怖游戏
- php 5.3 include 上层 function,php5.3开始出现的Function ereg() is deprecated Error问题解决办法...
- 斐波那契数列(Fibonacci)的三种JAVA解法
- 在 Microsoft Windows Server 2008 R2 上安装 IE 11
- 增强 扫描王 源码_CamScanner扫描全能王v5.15.3 安卓版
- 2012移动开发者经济学
- Matlab的主成分分析
- Codevs1074:食物链——题解
- python3GUI--天气预报小工具(附源码)