图形面积计算java
咱们有一些图形的边长数据,这些图形包括三角新和矩形,请你编写一个程序求出它们的面积。
请你实现一个基础图形类Graph,而后实现三角形类Triangle和矩形类Rectangle,继承自Graph。根据输入的边数实现不一样的对象,并计算面积。
输入格式:
一行,一个整数n,表示图形个数。
n行,每行是用空格隔开的整数。
输出格式:
n行,每行是一个图形的面积。
输入样例:
2
5 5
6 6 6
输出样例:
25
15web
参考代码以下:svg
import java.util.Scanner;
abstract class Graph{
abstract double getS();
}
class Triangle extends Graph{
double a;
double b;
double c;
Triangle(int a,int b,int c){
this.a=a;
this.b=b;
this.c=c;
}
public double getS() {
double p=(a+b+c)/2;
return Math.sqrt(p*(p-a)*(p-b)*(p-c));
}
}
class Rectangle extends Graph{
double a;
double b;
Rectangle(double a,double b){
this.a=a;
this.b=b;
}
public double getS() {
return a*b;
}
}
public class TestS {
public static void main(String[] args) {
Scanner input=new Scanner(System.in);
int n=Integer.parseInt(input.nextLine());
for(int i=0;i
String s=input.nextLine().trim();
String []t=s.split(" ");
int a=0,b=0,c=0;
if(t.length==2) {
a=Integer.parseInt(t[0]);
b=Integer.parseInt(t[1]);
Rectangle re=new Rectangle(a,b);
System.out.println(re.getS());
}
else if(t.length==3) {
a=Integer.parseInt(t[0]);
b=Integer.parseInt(t[1]);
c=Integer.parseInt(t[2]);
Triangle tr=new Triangle(a,b,c);
System.out.println(tr.getS());
}
}
input.close();
}
}
运行结果以下:
this
答案仅供参考,
谢谢!code