计算各种图形的周长(接口与多态)
2018-03-22 11:38
441 查看
计算各种图形的周长(接口与多态)
Time Limit: 1000 ms Memory Limit: 65536 KiBSubmit Statistic
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。
第一种方式代码:
package hello; import java.util.*; class Triangle { double a, b, c; public Triangle(double a, double b, double c) { this.a = a; this.b = b; this.c = c; } public double cc() { return a + c + b; } } class Rectangle { double a, b; public Rectangle(double a, double b) { this.a = a; this.b = b; } public double cc() { return 2 * (a + b); } } class Circle { double r; static final double PI = 3.14; public Circle(double r) { super(); this.r = r; } public double cc() { return 2 * PI * r; } } public class Main { public static void main(String[] args) { Scanner cin = new Scanner(System.in); String str; while (cin.hasNext()) { str = cin.nextLine(); String s[] = str.split(" "); if (s.length == 1) { double a = Integer.valueOf(s[0]); if (a < 0) { System.out.println(String.format("%.2f", 0.00)); continue; } Circle c = new Circle(a); System.out.println(String.format("%.2f", c.cc())); } else if (s.length == 2) { double a = Integer.valueOf(s[0]); double b = Integer.valueOf(s[1]); if (a < 0 || b < 0) { System.out.println(String.format("%.2f", 0.00)); continue; } Rectangle rect = new Rectangle(a, b); System.out.println(String.format("%.2f", rect.cc())); } else if (s.length == 3) { double a = Integer.valueOf(s[0]); double b = Integer.valueOf(s[1]); double c = Integer.valueOf(s[2]); if (a < 0 || c < 0 || b < 0) { System.out.println(String.format("%.2f", 0.00)); continue; } if(a+b>c && a+c>b && b+c>a){ Triangle tri = new Triangle(a, b, c); System.out.println(String.format("%.2f", tri.cc())); } else { System.out.println(String.format("%.2f", 0.00)); continue; } } } cin.close(); } }
相关文章推荐
- 计算各种图形的周长(接口与多态)
- 计算各种图形的周长(接口与多态)
- 计算各种图形的周长(接口与多态)
- 计算各种图形的周长(接口与多态)java
- 计算各种图形的周长(接口与多态)
- Java sdut acm 3338 计算各种图形的周长(接口与多态)
- 计算各种图形的周长(接口与多态)(Java)acm.sdut
- 计算各种图形的周长(接口与多态)
- java_sdut_计算各种图形的周长(接口与多态)
- 计算各种图形的周长(接口与多态)
- 3.第二单元任务五实训:通过程序设计几何图形接口(Shape),实现类矩形(Rectangle)、圆形(Circle)、正方形(Square)几种类型,能够利用接口和多态性计算几何图形的面积和周长并显
- 利用接口和多态性计算几何图形的面积和周长并显示
- java用接口、多态、继承、类计算三角形和矩形周长及面积的方法
- 通过程序设计几何图形(Shape)、矩形(Rectangle)、圆形(Circle)、正方形(Square)几种类型, 能够利用接口和多态性计算几何图形的面积和周长并显示。
- SDUT 3338 计算各种图形的周长
- 通过程序设计几何图形(Shape)、矩形(Rectangle)、圆形(Circle)、正方形(Square)几种类型, 能够利用接口和多态性计算几何图形的面积和周长并显示
- 通过程序设计几何图形(Shape)、矩形(Rectangle)、圆形(Circle)、正方形(Square)几种类型, 能够利用接口和多态性计算几何图形的面积和周长并显示。
- 通过程序设计几何图形(Shape)、矩形(Rectangle)、圆形(Circle)、正方形(Square)几种类型,能够利用接口和多态性计算几何图形的面积和周长并显示。
- 通过程序设计几何图形(Shape)、矩形(Rectangle)、圆形(Circle)、正方形(Square)几种类型, 能够利用接口和多态性计算几何图形的面积和周长并显示。
- 通过程序设计几何图形(Shape)、矩形(Rectangle)、圆形(Circle)、正方形(Square)几种类型, 能够利用接口和多态性计算几何图形的面积和周长并显示。