我们有一些图形的边长数据,这些图形包括三角新和矩形,请你编写一个程序求出它们的面积。
请你实现一个基础图形类Graph,然后实现三角形类Triangle和矩形类Rectangle,继承自Graph。根据输入的边数实现不同的对象,并计算面积。
输入格式:
一行,一个整数n,表示图形个数。
n行,每行是用空格隔开的整数。
输出格式:
n行,每行是一个图形的面积。
输入样例:
2
5 5
6 6 6
输出样例:
25
graph类:
triangle类:
请你实现一个基础图形类Graph,然后实现三角形类Triangle和矩形类Rectangle,继承自Graph。根据输入的边数实现不同的对象,并计算面积。
输入格式:
一行,一个整数n,表示图形个数。
n行,每行是用空格隔开的整数。
输出格式:
n行,每行是一个图形的面积。
输入样例:
2
5 5
6 6 6
输出样例:
25
15
package javatest007;
import java.util.Scanner;
/*
* 我们有一些图形的边长数据,这些图形包括三角新和矩形,请你编写一个程序求出它们的面积。
请你实现一个基础图形类Graph,然后实现三角形类Triangle和矩形类Rectangle,继承自Graph。根据输入的边数实现不同的对象,并计算面积。
输入格式:
一行,一个整数n,表示图形个数。
n行,每行是用空格隔开的整数。
输出格式:
n行,每行是一个图形的面积。
输入样例:
2
5 5
6 6 6
输出样例:
25
15
*/
public class javatest008 {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
System.out.println("请输入图形个数:");
Scanner in=new Scanner(System.in);
int number=in.nextInt();
String[] str=new String[number];
for(int n=0;n<number;n++)
{
in.nextLine();
str[n]=in.nextLine();
//System.out.println(str[n]);
}
for(int i=0;i<number;i++)
{
String[] temp=str[i].split(" ");
if(temp.length==2)
{
double c=Double.parseDouble(temp[0]);
double d=Double.parseDouble(temp[1]);
if(c<0||d<0)
{
System.out.println("无法构成矩形!");
}else
{
Rectangle rectangle=new Rectangle(c,d);
System.out.println(rectangle.getArea());
}
}
if(temp.length==3)
{
double a=Double.parseDouble(temp[0]);
double b=Double.parseDouble(temp[1]);
double c=Double.parseDouble(temp[2]);
if(a<0||b<0||c<0)
{
System.out.println("无法构成三角形!");
}else if(a+b>c&&b+c>a&&a+c>b)
{
Triangle triangle=new Triangle(a,b,c);
triangle.getArea();
}else
{
System.out.println("无法构成三角形!");
}
}
}
}
}
graph类:
package javatest007;
public class Graph {
private String Identity="Graph";
double[] edge;//边
public double[] getEdge()
{
return this.edge;
}
public String getIdentity()
{
return this.Identity;
}
}
rectangle类:
package javatest007;
public class Rectangle extends Graph {
private String Identity="Rectangle";
Rectangle()
{
this.edge[0]=0;
this.edge[1]=0;
}
Rectangle(double length,double width)
{
this.edge=new double[2];
this.edge[0]=length;
this.edge[1]=width;
}
public double getLength()
{
return this.edge[0];
}
public double getWidth()
{
return this.edge[1];
}
public String getIdentity()
{
return this.Identity;
}
public double getArea()
{
return this.edge[0]*this.edge[1];
}
}
triangle类:
package javatest007;
public class Triangle extends Graph {
private String Identity="Triangle";
Triangle()
{
this.edge[0]=0;
this.edge[1]=0;
this.edge[2]=0;
}
Triangle(double edgeA,double edgeB,double edgeC)
{
this.edge=new double[3];
this.edge[0]=edgeA;
this.edge[1]=edgeB;
this.edge[2]=edgeC;
}
public double getEdgeA()
{
return this.edge[0];
}
public double getEdgeB()
{
return this.edge[1];
}
public double getEdgeC()
{
return this.edge[2];
}
public String getIdentity()
{
return this.Identity;
}
public double getArea()
{
double p=0.5*(this.edge[0]+this.edge[1]+this.edge[2]);
return Math.sqrt(p*(p-this.edge[0])*(p-this.edge[1])*(p-this.edge[2]));
}
}