关键词不能为空

当前您在: 主页 > 高中公式大全 >

人效计算公式用接口设计并实现面积与周长计算

作者:高考题库网
来源:https://www.bjmy2z.cn/gaokao
2020-09-12 11:54
tags:海伦公式

守株待兔什么意思-河北医科大学分数线


【任务2】用接口设计并实现面积与周长计算
【要求】①定义一个接口,其中包含一个计算面 积的抽象方法和一个计算周长的抽象方法;②输入
数据为圆的半径、三角形的三条边长、矩形的长和宽, 对于用户的输入要有友好提示;③程序能够
排除输入过程中的非法数据(如:输入的长度数据为负数或字 符;输入的三角形三条边数据不能组
成三角形;④计算圆、三角形、矩形的面积和周长,并输出原始数据 和结算结果。
【该实验属于给定题目和要求,学生自己设计方案并加以实现的实验,故属于设计性实验。】
【该实验涉及到的知识点】①输入与输出格式设计;②数据类型及其异常处理;③循环及其嵌套;
④算法 设计;⑤类;⑥方法;⑦接口;⑧包。
============================ ============================================
== ===========
第一次实验:计算半径为3的圆的周长,运行效果见图1。
①② ③

图1
第二次实验:计算边长分别为3、4、5的三角形的面积和周长,运行效果见图2。
①②③
④⑤⑥
图2
第三次实验:计算边长为7和8的矩形的面积,运行效果见图3。
①②③
④ ⑤
图3


源程序如下:
category包:
文件:
**
* category为类的设计与构造包
* 设计日期:2010年9月27日
*
package category;
public interface Shape{
*
* getArea()为计算面积的抽象方法
* getCircumference()为计算周长的抽象方法
*
public abstract double getArea();获取面积
public abstract double getCircumference();获取周长
}
文件:
package category;
**
* 圆类的设计
* radius为圆的半径
*
public class Circle implements Shape{
private double radius=0;
public Circle(double r){
radius=r;
}
public double getRadius(){
return
}
public double getArea(){
return *radius*radius;
}
public double getCircumference(){
return 2**radius;
}
}
文件:
package category;
**
* 三角形类的设计
* a、b、c为三角形的三条边
*
public class Triangle implements Shape{
private double a=0;
private double b=0;
private double c=0;
public Triangle(double a,double b,double c){
this.a=a;
this.b=b;
this.c=c;
}
public double getA(){
return this.a;
}
public double getB(){
return this.b;
}
public double getC(){
return this.c;
}
public double getArea(){
*
* 运用海伦公式计算三角形的面积
*
double p=(this.a+this.b+this.c)2;
return (p*(p-this.a)*(p-this.b)*(p-this.c));
}
public double getCircumference(){
return this.a+this.b+this.c;
}
}
文件:
package category;
**
* 矩形类的设计
* length为矩形的长
* weight为矩形的宽
*
public class Rentangle implements Shape{
private double length=0;
private double width=0;
public Rentangle(double length,double width){
=length;
=width;
}
public double getLength(){
return
}
public double getWidth(){
return
}
public double getArea(){
return *;
}
public double getCircumference(){
return 2*(+);
}
}
graphic包:
Graphic_文件(main方法):
**
* 用接口设计并实现面积与周长计算
* 程序编写员:刘晨旭
* 编制日期:2010年9月26日
* 最后一次修改日期:2010年9月27日
*
package graphic;声明一个图形包
import category.*;导入类的设计与构造包
import nPane;
**
* 主函数
* 负责实现程序的整个功能
*
public class Graphic_Calculation {
public static void main(String[] args) {
double radius=0;圆的半径
double a=0,b=0,c=0;三角形的三条边
double length=0,width=0;矩形的长和宽
double area=0,circumference=0;
String str_Select,str_Graphic;
*
* data_input_one:选择计算图形的哪种属性,面积还是周长
* data_input_two:选择计算哪种图形,圆、三角形还是矩形
*
int data_input_one=0,data_input_two=0;记录输入的数据,可用来判 断输入是否合法
boolean flag=true;
boolean indication=true;
**
* 进行初次选择
* 让用户选择进行图形的周长运算还是面积运算
* 【1】计算面积
* 【2】计算周长
* 【3】计算面积与周长
*
while(flag){
str_Select=putDialog(您想计算图形的面积 还是周长?n【1】面积n【2】
周长n【3】面积与周长
try{
data_input_one=nt(str_Select);
*
* 为了防止循环时出现indication的死循环状况
* 例如:假设首次输入操作非法,则indication会被赋值false,此时出现死循环
* 故在此仍要重新声明indication的值为true
*
indication=true;
if(data_input_one<=0||data_input_one>3){
ssageDialog(null,您输入的数字不在选项内!警告

indication=false;
}
}catch(Exception e){
ssageDialog(null,非法数据警告

indication=false;
}
if(indication)
flag=false;
}
**
* 选择要进行哪种图形的运算
* 【1】圆
* 【2】三角形
* 【3】矩形
*
flag=true;对flag重新赋真值
while(flag){
str_Graphic=putDialog(要计算的是什么图 形?n【1】圆n【2】三角形n
【3】矩形
try{
data_input_two=nt(str_Graphic);
indication=true;
if(data_input_two<=0||data_input_two>3){
ssageDialog(null,您输入的数字不在选项内!警告

indication=false;
}
}catch(Exception e){
ssageDialog(null,非法数据警告

indication=false;
}
if(indication)
flag=false;
}
**
* 各种图形属性计算的实现
* 先进行数据的输入,然后再根据要求输出
*
*
* 输入语句的实现
*
flag=true;
switch(data_input_two)
{
case 1:圆的数据输入
{
while(flag){
try{
String strRadius=putDialog(请输入圆的半径:
radius=ouble(strRadius);
indication=true;
if(radius<=0){
putDialog(null,您输入的数小于等于零!警告

indication=false;
}
}catch(Exception e){
ssageDialog(null,非法数据警告

indication=false;
}
if(indication)
flag=false;
}
break;
}
case 2:三角形的数据输入
{
while(flag){
try{
String strA=putDialog(请输入三角形的第一条边长:
String strB=putDialog(请输入三角形的第二条边长:
String strC=putDialog(请输入三角形的第三条边长:
a=ouble(strA);
b=ouble(strB);
c=ouble(strC);
indication=true;
if(a<=0||b<=0||c<=0||a+b<=c||b+c<=a||c+a<=b)
{
ssageDialog(null,您输入的三个数无法构成三角形!
警告
indication=false;
}
}catch(Exception e){
ssageDialog(null,非法数据警

indication=false;
}
if(indication)
flag=false;
}
break;
}
case 3:矩形的数据输入
{
while(flag){
try{
String strLength=putDialog(请输入矩形的长:
String strWidth=putDialog(请输入矩形的宽:
length=ouble(strLength);
width=ouble(strWidth);
indication=true;
}catch(Exception e){
ssageDialog(null,非法数据警

indication=false;
}
if(indication)
flag=false;
}
break;
}
}
**
* 具体属性的计算
* 先根据data_input_one的取值判断需要计算的是哪个属性值(面积还是周长)
* 然后根据data_input_two的取值判断需要计算的是哪种图形
*
Circle C=new Circle(radius);
Triangle T=new Triangle(a,b,c);
Rentangle R=new Rentangle(length,width);
switch(data_input_one)
{


































































































case 1:计算图形的面积
{
switch(data_input_two)
{
case 1:area=a();break;
case 2:area=a();break;
case 3:area=a();break;
}
break;
}
case 2:计算图形的周长
{
switch(data_input_two)
{
case 1:circumference=cumference();break;
case 2:circumference=cumference();break;
case 3:circumference=cumference();break;
}
break;
}
case 3:计算图形的面积与周长
{
switch(data_input_two)
{
case 1:
area=a();
circumference=cumference();
break;
case 2:
area=a();
circumference=cumference();
break;
case 3:
area=a();
circumference=cumference();
break;
}
break;
}
}
**
* 输出语句的实现
* 先根据data_input_two的取值判断输出的是哪种图形
* 然后根据data_input_one的取值判断需要输出哪些属性值(面积还是周长)
*
switch(data_input_two)
{
case 1:
{
switch(data_input_one)
{
case 1:
ssageDialog(null,圆的半径:面积:
结果
break;
case 2:
ssageDialog(null,圆的半径:周长:
结果
break;
case 3:
ssageDialog(null,圆的半径:面积:
周长:结果
break;
}
break;
}
case 2:
{
switch(data_input_one)
{
case 1:
ssageDialog(null,三角形的三条边长:
面积:结果
break;
case 2:
ssageDialog(null,三角形的三条边长:
周长:结果
break;
case 3:
ssageDialog(null,三角形的三条边长:
面积:周长:结果

break;
}
break;
}
case 3:
{
switch(data_input_one)
{
case 1:
ssageDialog(null,矩形的两条边长:
面积:结果
break;
case 2:
ssageDialog(null,矩形的两条边长:
周长:结果
break;
case 3:
ssageDialog(null,矩形的两条边长:
面积:周长:结果
break;
}
break;
}
}
}
}

长沙二本大学-飞秒手术


张开的反义词-关于中国梦的诗歌


怎么背书才能快速背会-天津是什么省份


给男朋友留言暖心短句-依法治国的核心


白居易主张-英文句子唯美简短


动作电位的产生机制-二氧化硫通入溴水


could的用法-自治区有几个


力明科技学院-留学韩国费用



本文更新与2020-09-12 11:54,由作者提供,不代表本网站立场,转载请注明出处:https://www.bjmy2z.cn/gaokao/392836.html

用接口设计并实现面积与周长计算的相关文章

  • 爱心与尊严的高中作文题库

    1.关于爱心和尊严的作文八百字 我们不必怀疑富翁的捐助,毕竟普施爱心,善莫大焉,它是一 种美;我们也不必指责苛求受捐者的冷漠的拒绝,因为人总是有尊 严的,这也是一种美。

    小学作文
  • 爱心与尊严高中作文题库

    1.关于爱心和尊严的作文八百字 我们不必怀疑富翁的捐助,毕竟普施爱心,善莫大焉,它是一 种美;我们也不必指责苛求受捐者的冷漠的拒绝,因为人总是有尊 严的,这也是一种美。

    小学作文
  • 爱心与尊重的作文题库

    1.作文关爱与尊重议论文 如果说没有爱就没有教育的话,那么离开了尊重同样也谈不上教育。 因为每一位孩子都渴望得到他人的尊重,尤其是教师的尊重。可是在现实生活中,不时会有

    小学作文
  • 爱心责任100字作文题库

    1.有关爱心,坚持,责任的作文题库各三个 一则150字左右 (要事例) “胜不骄,败不馁”这句话我常听外婆说起。 这句名言的意思是说胜利了抄不骄傲,失败了不气馁。我真正体会到它

    小学作文
  • 爱心责任心的作文题库

    1.有关爱心,坚持,责任的作文题库各三个 一则150字左右 (要事例) “胜不骄,败不馁”这句话我常听外婆说起。 这句名言的意思是说胜利了抄不骄傲,失败了不气馁。我真正体会到它

    小学作文
  • 爱心责任作文题库

    1.有关爱心,坚持,责任的作文题库各三个 一则150字左右 (要事例) “胜不骄,败不馁”这句话我常听外婆说起。 这句名言的意思是说胜利了抄不骄傲,失败了不气馁。我真正体会到它

    小学作文