楊小白 2016-04-30 08:50 采纳率: 0%
浏览 2550

一个java实验报告代码

(1)编写一个Java程序,该程序中有5个类:Trangle、Lader、Circle、AreaAndLength和TrangleException,AreaAndLength类来调用其他3个类。
(2)Trangle类具有类型为double的三个边,以及周长、面积属性,具有有参构造函数、返回周长、返回面积以及修改三条边的功能。
(3)Lader类具有类型为double的上底、下底、高、面积属性,具有有参构造函数、返回周长、返回面积的功能。
(4)Circle类具有类型为double的半径、周长和面积属性,具有有参构造函数、返回周长、返回面积的功能。
(5)AreaAndLength类有且仅有一个主函数,在主函数中实例化Trangle、Lader、Circle这3个类、输出3个类的周长以及面积。
(6)TrangleException类完成三角形构成的判断,如果不能构成三角形,输出提示信息。
(7)在Trangle类中主动抛出TrangleException异常,在AreaAndLength类中处理。

import java.io.*;
class Trangle
{

double A,B,C,area,length;
boolean boo;
public void TrangleException(){}
public Trangle(double a,double b,double c)throws IOException
{
A=a;
B=b;
C=c; //参数a,b,c分别赋值给sideA,sideB,sideC
}
double getLength()
{

double length;
length=A+B+C;
return length; //方法体,要求计算出length的值并返回
}
public double getArea()
{
if(boo)
{
double p=(A+B+C)/2.0;
area=Math.sqrt(p*(p-A)*(p-B)*(p-C)) ;
return area;
}
else
{
System.out.println("不是一个三角形,不能计算面积");
return 0;
}
}
public void setABC(double a,double b,double c)
{
A=a;B=b;C=c; //参数a,b,c分别赋值给sideA,sideB,sideC
}
}
class Lader
{

double above,bottom,height,area;
Lader(double a,double b,double h)
{
above=a;bottom=b;height=h; //方法体,将参数a,b,c分别赋值给above,bottom,height
}
double getArea()
{
area=(above+bottom)*height/2;
return area; //方法体,,要求计算出area返回
}
}

class Circle
{
double radius,area;
Circle(double r)
{ radius=r;
//方法体
}
double getArea()
{
return 3.14*radius*radius;

}
double getLength()
{
return 2*3.14*radius;
}
void setRadius(double newRadius)
{
radius=newRadius;
}
double getRadius()
{
return radius;
}
}
class TrangleException extends Trangle{
public TrangleException(double a, double b, double c) throws IOException {
super(a, b, c);
// TODO Auto-generated constructor stub
try
{
BufferedReader stdin = new BufferedReader(new InputStreamReader(System.in));
a = Integer.valueOf(stdin.readLine());
b = Integer.valueOf(stdin.readLine());
c = Integer.valueOf(stdin.readLine());
if(a+b>c&&b+c>a&&a+c>b) //a,b,c构成三角形的条件表达式
{ boo=true;//给boo赋值。
System.out.println("能构成三角形。");
}
else
{
boo=false; //给boo赋值。
}
}
catch (IOException e) {
boo=false;
System.out.println("不能构成三角形。");
}

}
}
public class AreaAndLength
{
public static void main(String args[]) throws IOException
{ double length,area;
Circle circle;
Trangle trangle;
Lader lader;
circle=new Circle(10); //创建对象circle //创建对象trangle。
lader=new Lader(4,5,8); //创建对象lader
trangle= new Trangle(5,6,5); //创建对象trangle。
trangle.TrangleException();
length=circle.getLength(); // circle调用方法返回周长并赋值给length
System.out.println("圆的周长:"+length);
area=circle.getArea(); // circle调用方法返回面积并赋值给area
System.out.println("圆的面积:"+area);
length=trangle.getLength(); // trangle调用方法返回周长并赋值给length
System.out.println("三角形的周长:"+length);
area=trangle.getArea ();// trangle调用方法返回面积并赋值给area
System.out.println("三角形的面积:"+area);
area=lader.getArea(); // lader调用方法返回面积并赋值给area
System.out.println("梯形的面积:"+area);

}

}

但是运行结果出错了,还有我想问一下怎样修改才能使它的数字是从键盘输入而不是代码固定边长??

  • 写回答

3条回答 默认 最新

  • niaonao 2016-04-30 10:32
    关注

    Scanner 类能实现
    Scanner scan = new Scanner();
    int length, width, height;
    //键盘输入长宽高
    length = scan.nextInt();
    width = scan.nextInt();
    height = scan.nextInt();

    //下面是你的类 lader
    lader=new lader(length, width, height);

    评论

报告相同问题?

悬赏问题

  • ¥15 C++使用Gunplot
  • ¥15 这个电路是如何实现路灯控制器的,原理是什么,怎么求解灯亮起后熄灭的时间如图?
  • ¥15 matlab数字图像处理频率域滤波
  • ¥15 在abaqus做了二维正交切削模型,给刀具添加了超声振动条件后输出切削力为什么比普通切削增大这么多
  • ¥15 ELGamal和paillier计算效率谁快?
  • ¥15 file converter 转换格式失败 报错 Error marking filters as finished,如何解决?
  • ¥15 Arcgis相交分析无法绘制一个或多个图形
  • ¥15 关于#r语言#的问题:差异分析前数据准备,报错Error in data[, sampleName1] : subscript out of bounds请问怎么解决呀以下是全部代码:
  • ¥15 seatunnel-web使用SQL组件时候后台报错,无法找到表格
  • ¥15 fpga自动售货机数码管(相关搜索:数字时钟)