问题:

设计一个程序,其中含有一个接口Shape(形状),其中有求形状的面积的方法area()。再定义三个实现接口的类:三角型类、矩形类和圆类。在主方法中创建Shape类型的一维数组,它有三个元素,放置三个对象,分别表示三角形、矩形和圆,然后利用循环输出三个图形的面积。

( 注:三角形面积s=Math.sqrt(p*(p-a)*(p-b)*(p-c)),a,b,c为三条边,p=(a+b+c)/2  )

代码:

(1)接口Shape:定义了求形状面积的方法getArea()

package com.company;import java.util.Scanner;interface Shape
{public abstract double getArea(double a,double b);
}

(2) 三角形类、长方形类、圆类都继承接口Shape,实现了接口的getArea()方法

class Triangle implements Shape{private double p;public double getArea(double a,double b,double c){p=(a+b+c)/2;return Math.sqrt(p*(p-a)*(p-b)*(p-c));}
}
class Rectangle implements Shape{public double getArea(double a,double b,double c){return a*b;}
}
class Circle implements Shape{public double getArea(double a,double b,double c){return a*a*Math.PI;}
}

(3)在主方法中获取三角形的三个边a、b、c(其中长方形的边为a、b,圆的半径为a),然后创建Shape类型的一维数组s,它有三个元素,放置三个对象,分别表示三角形、矩形和圆,然后利用for循环输出三个图形的面积。

public class Main {public static void main(String[] args) {Scanner input=new Scanner(System.in);double a=input.nextDouble();double b=input.nextDouble();double c=input.nextDouble();Shape [] s=new Shape[3];s[0]=new Triangle();s[1]=new Rectangle();s[2]=new Circle();s[0].getArea(a, b,c);for (int i=0;i<3;i++){System.out.println(s[i].getArea(a,b,c));}}
}

 运行结果:

Java:实验四第6题相关推荐

  1. Java实验四,星号题最终版(暂定。。。也许还能找到问题)

    实验四 1. 第一版使用wait.notifyAll.synchronized ,可以买到票但是排序不行 2. 第二版 第一次使用公平锁.ReentrantLock.Condition,感觉还是没解决 ...

  2. java实验四云南大学_云南大学软件学院Java实验四

    云南大学软件学院Java实验四 云南大学软件学院 实 验 报 告 姓名: 王定欢 学号: 班级: 日期: 2016.10.13 成绩: JAVA实验四 一. 实验目的: Fundamental Pro ...

  3. java实验四结果,java实验四异常处理.doc

    java实验四异常处理.doc 实验四异常处理一.实验目的1.掌握异常的概念和Java异常处理机制.2.掌握异常的定义.抛出和捕捉处理.二.实验内容与要求1.仔细读下面的JAVA语言源程序,自己给出程 ...

  4. #20165323 Java实验四 Android程序设计

    一.实验报告封面 课程:Java程序设计 班级:1653班 姓名:杨金川 学号:20165323 指导教师:娄嘉鹏 实验日期:2018年5月14日 实验时间:13:45 - 15:25 实验序号:实验 ...

  5. java实验四用户程序设计_20145329《Java程序设计》实验四总结

    实验四 Android环境搭建 实验内容 1.搭建Android环境 2.运行Android 3.修改代码,能输出学号 实验步骤 1.搭建Android环境 2.安装Android,核心是配置JDK. ...

  6. java实验四——找鞍点

    package hello;public class 实验四 {public static void main(String[] args) {// TODO Auto-generated metho ...

  7. java实验四云南大学_云南大学软件学院JAVA实验八

    云南大学软件学院 实验报告 姓名:王增伟学号:20111120083 班级:软件工程日期:2014.11.11成绩: JAVA实验八 一.实验目的: 熟悉图形化界面编程,学会用程序画简单的图形.书写文 ...

  8. Java:实验四第5题

    问题: 请仔细阅读下面的程序,分析程序的结构和输出结果.由此理解接口.抽象类.继承.实现接口,进一步理解多态. interface Food { public void doEat();}     / ...

  9. 西农大 Java 实验四 第一题

    任务一:界面设计 请设计一个界面,包括:菜单,文本框,按钮,标签,文本区,选择框,单选按钮和下拉列表. package first;import java.awt.BorderLayout; impo ...

最新文章

  1. 从今天开始收集一些经典的算法。
  2. 深度 | 人工智能的游戏征途:超级玛丽简直小菜一碟,星际争霸、LOL才是大boss...
  3. 关于VS2005不能更改字体的问题
  4. 秋招 百度二轮面试---血淋淋的经历写实
  5. Gentoo 安装日记 02 (建立并启动虚拟机)
  6. Regex Tester (免费有用)
  7. Windows10上安装Git 2.10.2详细图解
  8. java封装示例代码
  9. 【codevs1306】广播操的游戏
  10. 全局异步和主线程异步区别、改变PlaceHolder颜色、解决键盘弹起挡住文本框问题...
  11. HTML5新的解析顺序,HTML5新表单新功能解析
  12. GJB 软件质量保证报告(模板)
  13. 开发国信股票自动交易软件
  14. HR问:“你为什么离开上一家公司?”,这样回答最机智
  15. 腾讯云服务器文件怎么恢复吗,实战腾讯云镜像备份恢复云服务器实例提取网站数据文件...
  16. android 旋转屏幕 不重走生命周期,屏幕旋转后Activity生命周期
  17. 在Lua中使用枚举型变量
  18. 2017 12 05
  19. 宽度优先搜索算法(BFS)详解(超级详细讲解,附有大图)
  20. 74LS273芯片介绍

热门文章

  1. 百度Android定位API使用指南
  2. day33 java的注解
  3. html 给照片添加圆角属性,CSS3新增属性(背景图、边框背景、圆角)
  4. idea导入ssm项目_一个简洁的适合 Java 小白练手的“秒杀”项目
  5. w ndows2000,华塑CAE软件简介
  6. 推荐系统实战系列(python版).rar_python实战音乐推荐系统
  7. java 僵尸进程_Linux 僵尸进程
  8. c语言log_Morn:一个极简的C语言日志
  9. linux rmp命令安装包在哪里_一文带你了解阿里云Linux服务器的基本操作
  10. 前端chrome浏览器调试总结??