Java练习 SDUT-3338_计算各种图形的周长(接口与多态)
计算各种图形的周长(接口与多态)
Time Limit: 1000 ms Memory Limit: 65536 KiB
Problem Description
定义接口Shape,定义求周长的方法length()。
定义如下类实现接口Shape的抽象方法:
(1)三角形类Triangle (2)长方形类Rectangle (3)圆形类Circle等。
定义测试类ShapeTest,用Shape接口定义变量shape,用其指向不同类形的对象,输出各种图形的周长。并为其他的Shape接口实现类提供良好的扩展性。
Input
输入多组数值型数据(double);
一行中若有1个数,表示圆的半径;
一行中若有2个数(中间用空格间隔),表示长方形的长度、宽度。
一行中若有3个数(中间用空格间隔),表示三角形的三边的长度。
若输入数据中有负数,则不表示任何图形,周长为0。
Output
行数与输入相对应,数值为根据每行输入数据求得的图形的周长(保留2位小数)。
Sample Input
1
2 3
4 5 6
2
-2
-2 -3
Sample Output
6.28
10.00
15.00
12.56
0.00
0.00
Hint
构造三角形时要判断给定的三边的长度是否能组成一个三角形,即符合两边之和大于第三边的规则;
计算圆周长时PI取3.14。
import java.util.*;public class Main
{public static void main(String[] args){Scanner cin = new Scanner(System.in);double a,b,c;Shape x;String str;String []s;while(cin.hasNextLine()){str = cin.nextLine();s = str.split(" ");if(s.length==1){a = Double.parseDouble(s[0]);x = new Circle(a);System.out.printf("%.2f\n",x.length());}else if(s.length==2){a = Double.parseDouble(s[0]);b = Double.parseDouble(s[1]);x = new Rectangle(a,b);System.out.printf("%.2f\n",x.length());}else if(s.length==3){a = Double.parseDouble(s[0]);b = Double.parseDouble(s[1]);c = Double.parseDouble(s[2]);x = new Triangle(a,b,c);System.out.printf("%.2f\n",x.length());}}cin.close();}
}interface Shape
{public double length();
}class Triangle implements Shape
{double a,b,c;Triangle(double a,double b,double c){this.a = a;this.b = b;this.c = c;}public double length(){if(a<=0||b<=0||c<=0)return 0;if(a+b<=c||a+c<=b||b+c<=a)return 0;return a + b + c;}
}class Rectangle implements Shape
{double a,b;Rectangle(double a,double b){this.a = a;this.b = b;}public double length(){if(a<=0||b<=0)return 0;return (a + b) * 2;}
}class Circle implements Shape
{double a;Circle(double a){this.a = a;}public double length(){if(a<=0)return 0;return a * 3.14 * 2;}
}
转载于:https://www.cnblogs.com/luoxiaoyi/p/9934597.html
Java练习 SDUT-3338_计算各种图形的周长(接口与多态)相关推荐
- 计算各种图形的周长(接口与多态)(Java)
计算各种图形的周长(接口与多态) Time Limit: 1000 ms Memory Limit: 65536 KiB Problem Description 定义接口Shape,定义求周长的方法l ...
- Java—计算各种图形的周长(接口与多态)
Java-计算各种图形的周长(接口与多态) Description 定义接口Shape,定义求周长的方法length(). 定义如下类实现接口Shape的抽象方法: (1)三角形类Triangle ( ...
- 计算各种图形的周长 python java
计算各种图形的周长(多态) 定义接口或类 Shape,定义求周长的方法length(). 定义如下类,实现接口Shape或父类Shape的方法.(1)三角形类Triangle (2)长方形类Recta ...
- Java计算各种图形的周长、面积利用接口,多态等知识实现
知识点 接口,接口的实现 方法的重写 多态的运用 题目 利用接口.类.多态等知识,计算各种图形的周长和面积(圆,长方形,正方形) 解题思路: 创建一个接口Calculate,包含有三个方法, 求解周长 ...
- sdut-oop-6 计算各种图形的周长(多态)
sdut-oop-6 计算各种图形的周长(多态) 定义接口或类 Shape,定义求周长的方法length(). 定义如下类,实现接口Shape或父类Shape的方法. (1)三角形类Triangle ...
- 7-3 sdut-oop-6 计算各种图形的周长(接口与多态) (10 分)
(备注:本人只是一个小小的知识搬运工,内容包含个人见解,如有错误请多多指教!) 7-3 sdut-oop-6 计算各种图形的周长(接口与多态) (10 分) 定义接口Shape,定义求周长的方法len ...
- Python 面向对象 计算各种图形的周长(接口与多态)
Python 面向对象 计算各种图形的周长(接口与多态) Description 定义接口Shape,定义求周长的方法length(). 定义如下类实现接口Shape的抽象方法: (1)三角形类Tri ...
- PTA 7-7 sdut-oop-6 计算各种图形的周长(接口与多态) (10 分) JAVA
定义接口Shape,定义求周长的方法length(). 定义如下类实现接口Shape的抽象方法: (1)三角形类Triangle (2)长方形类Rectangle (3)圆形类Circle等. 定义测 ...
- 计算各种图形的周长(接口与多态)_JAVA
Description 定义接口Shape,定义求周长的方法length(). 定义如下类实现接口Shape的抽象方法: (1)三角形类Triangle (2)长方形类Rectangle (3)圆形类 ...
最新文章
- 基于最短路方法的生物序列比对问题研究
- IOS开发基础知识--碎片45
- C#程序设计笔记(第九章)
- UITableViewController
- SVM针对中文文本分类
- 80后——后海——烟袋斜街
- 现在的手机电池为什么不可拆卸?真相太真实了...
- css删除li 圆点_CSS中li圆点样式
- leetcode python3 简单题104. Maximum Depth of Binary Tree
- 【特别版】计算机哲学对学习生活借鉴的几个例子
- 关于TeamViewer中的ITbrain
- 基于Java+Spring+vue+element实现旅游信息管理平台系统
- 苹果越狱后怎么还原_iOS 13.3 越狱提升稳定性,自签又可以使用了
- 蓝牙智能音响测试软件,【天猫精灵蓝牙音箱使用总结】APP|连接|音质|资源|控制_摘要频道_什么值得买...
- 计算机网络故障提出问题,列控系统及其计算机网络的故障诊断与故障容错研究...
- linux中Oops信息的调试及栈回溯—Linux人都知道,这是好东西!
- 微信默认表情符号的代码对照表
- python echarts城市热力图_echarts绘制各省、市、区的热力图
- 网络设置巨形帧_修改网卡配置连接千兆网络的详细步骤
- i18n(国际化)地域标识码
热门文章
- L2-028 秀恩爱分得快-PAT团体程序设计天梯赛GPLT
- L1-046 整除光棍-PAT团体程序设计天梯赛GPLT
- 蓝桥杯 ALGO-78 算法训练 确定元音字母位置
- 蓝桥杯 BASIC-1 基础练习 闰年判断
- mysql创建和修改索引_MySQL索引创建 删除 增加 修改命令
- python如何实现分布式_Python如何快速实现分布式任务
- Http网络传递参数中文乱码问题解决办法
- [GIT] warning: LF will be replaced by CRLF问题解决方法
- 利用zabbix API进行管理
- 处理动态SQL语句的参数