题目:用Java编写一个计算随意给定值的三角形/圆形/矩形的周长和面积
代码如下:
文件名:Shape.java

/*** 抽象类Shape 是其他三个形状的父类 * 其他三个类要继承重写getArea()和getPerimeter()方法**/
public abstract class Shape {public static final double PI=3.14;public abstract double getArea();public abstract double getPerimeter();
}

文件名:Circle.java

/*** 继承Shape类**/
public class Circle extends Shape{double r;public Circle(double r){this.r=r;}@Override   public double getArea(){return Shape.PI*r*r;}@Overridepublic double getPerimeter(){return Shape.PI*r*2;}}

文件名:Rectangle.java

/*** 继承Shape类**/public class Rectangle extends Shape {double m, n;public Rectangle(double m, double n) {this.m = m;this.n = n;}@Overridepublic double getArea() {return m * n;}@Overridepublic double getPerimeter() {return 2 * (m + n);}}

文件名:Triangle.java

/*** 继承Shape类**/
public class Triangle extends Shape {double a, b, c;public Triangle(double a, double b, double c) {this.a = a;this.b = b;this.c = c;}@Overridepublic double getArea() {double p = (a + b + c) / 2;if ((a + b) > c && (a + c) > b && (b + c) > c) {return Math.sqrt(p * (p - a) * (p - b) * (p - c));} else {System.out.println("wrong values");return -1;}}@Overridepublic double getPerimeter() {if ((a + b) > c && (a + c) > b && (b + c) > c) {return a + b + c;} else {System.out.println("wrong values");return -1;}}
}

文件名:Test.java

package task.daily.April.TwentyFirst;import java.util.Scanner;public class Test {public static void main(String[] args) {Scanner sc = new Scanner(System.in);System.out.println("choose the shape which is the one you want calculate it's area and Perimeter:");System.out.println("1.Circle\t2.Triangle\t3.Rectangle");try {int choice = sc.nextInt();switch (choice) {case 1:System.out.println("input r:");try {double r = sc.nextDouble();Shape s = new Circle(r);System.out.println("the area of the circle is :" + s.getArea()+ "\nthe perimeter of the circle is :" + s.getPerimeter());} catch (Exception e) {System.out.println("wrong");}break;case 2:System.out.println("input a,b,c:");double a, b, c;try {a = sc.nextDouble();b = sc.nextDouble();c = sc.nextDouble();Shape s = new Triangle(a, b, c);System.out.println("the area of the circle is :" + s.getArea()+ "\nthe perimeter of the circle is :" + s.getPerimeter());} catch (Exception e) {System.out.println("wrong");}break;case 3:System.out.println("input m,n:");double m, n;try {m = sc.nextDouble();n = sc.nextDouble();Shape s = new Rectangle(m, n);System.out.println("the area of the circle is :" + s.getArea()+ "\nthe perimeter of the circle is :" + s.getPerimeter());} catch (Exception e) {System.out.println("wrong");}break;}} catch (Exception e) {System.out.println("please choose a correct number");}sc.close();}
}

通过子类继承父类和子类的构造方法对不同的形状需要的值进行赋值,对继承和抽象类做了一个小小的应用


初学Java,欢迎大家对错误批评指正,指点迷津

Java小程序之计算三角形/圆形/矩形的周长和面积相关推荐

  1. java编写程序实现求三角形、正方形和圆的面积

    java编写程序实现求三角形.正方形和圆的面积,要求先设计一个公共的父类,在其中·定义求面积的方法,再继承得到各种形状 package practice3; abstract class shape{ ...

  2. Python 实战案例--计算圆、矩形的周长和面积

    import math# 计算圆的面积 def circle_area(radius):return math.pi * radius * radius# 计算圆的周长 def circle_peri ...

  3. java继承求三角形圆形面积_java用接口、多态、继承、类计算三角形和矩形周长及面积的方法...

    本文实例讲述了java用接口.多态.继承.类计算三角形和矩形周长及面积的方法.分享给大家供大家参考.具体如下: 定义接口规范: /** * @author vvv * @date 2013-8-10 ...

  4. java定义一个方法计算三角形,长方形,圆形面积和周长

    java定义一个方法计算三角形,长方形,圆形面积和周长 /*** 定义一个方法,返回一个圆的周长 半径* 定义一个方法,返回一个圆的面积 半径* 定义一个方法,返回一个矩形的周长 长 宽* 定义一个方 ...

  5. java继承类长方形面积_java_java用接口、多态、继承、类计算三角形和矩形周长及面积的方法,本文实例讲述了java用接口、多 - phpStudy...

    java用接口.多态.继承.类计算三角形和矩形周长及面积的方法 本文实例讲述了java用接口.多态.继承.类计算三角形和矩形周长及面积的方法.分享给大家供大家参考.具体如下: 定义接口规范: /** ...

  6. 【Java基础】使用swing对话框编写一个程序:输入长和宽,计算矩形的周长和面积

    输入矩形的长和宽,计算矩形的周长和面积. 来源:丁振凡老师编著的<Java语言程序设计(第2版)> import javax.swing.*;public class Demo02Task ...

  7. java小程序_Java小程序

    java小程序 An applet is a special kind of Java program that runs in a Java enabled browser. This is the ...

  8. 【开发日常】【Java】Java小程序汽车租赁

    <Java小程序--汽车租赁> 1.描述:刚学Java写的小程序,用到类的继承,多态,abstract抽象方法. 2.工具:eclipse.exe 3.功能:选择子类(轿车 / 客车) 选 ...

  9. 3.每天一个java小程序之累加累乘

    3.每天一个java小程序之累加累乘 java小练习之数的累加累乘,在于锻炼数学计算思维. 每天一个小程序,每天进步一点点. 代码如下: package com.zou; import java.ut ...

最新文章

  1. java命令行读入密码_java-在命令行上隐藏输入
  2. 使用Jmeter至WebService压力测试
  3. 凭借这份Java面试题集,java上传文件夹
  4. sql语法,未完待续
  5. 基于Qt的A*算法可视化分析
  6. 旷视科技Face++进军机器人业务
  7. 生产者与消费者 代码实现 java
  8. VS2008 母版页嵌套母版页,下级母版页不执行Page_Load解决方法
  9. gis 空间分析 鸟类栖息地选取_鸟类的栖息地选择
  10. PYTORCH-KALDI语音识别工具包
  11. 为unigui程序搭建chrome手机浏览器(B4A)
  12. python少儿编程课件ppt_《Python 少儿趣味编程》
  13. 解决:tomcat重新部署会删除临时文件以及临时文件夹
  14. 3dMax夜晚行车灯光轨迹一键生成插件TrafficTrails使用教程
  15. 同为博客,不同风格 ——Hexo另类搭建
  16. 塞尔维亚失联的成都女子与父亲相见!这期间发生了什么?
  17. 第三章 八卦,乾坤震巽坎离艮兑
  18. android智能云电视,率先升级Android4.0 TCL3D智能云电视独领技术风潮
  19. 吉大考博英语是计算机答题吗,2018 吉大考博经历分享
  20. c语言中体积用什么字母表示,C语言中求圆柱体体积符号

热门文章

  1. 欣然随风的表单验证类
  2. JAVAAPI获取中文拼音(大小写字母转化)
  3. CSP 202206 题解:归一化处理,寻宝大冒险,角色授权,光线追踪,PS无限版
  4. 质数 斐波那契数列
  5. 可视化pytorch网络特征图
  6. 2022软考高项十大领域知识整理(一)--项目整体管理、范围管理
  7. Z01 fstream中ofstream的简单用法
  8. java printwriter实例_Java PrintWriter 类
  9. Hadoop读书笔记(六)MapReduce自定义数据类型demo
  10. 性格色彩测试android程序开发之二--dialog处理