📄 shapeexample.java
字号:
abstract class Shape
{
public abstract double length(); //周长
public abstract double area(); //面积
}
class Rectangle extends Shape //矩形类
{
double a,b;
Rectangle(double a,double b) //构造方法初始化两条边长
{ this.a=a;
this.b=b;
}
public double length()
{ return(2*(a+b));
}
public double area()
{ return(a*b);
}
}
class Trangle extends Shape //三角形类
{
double a,b,c;
Trangle(double a,double b,double c)
{ this.a=a;
this.b=b;
this.c=c;
}
public double length()
{ if(a+b>c&&a+c>b&&c+b>a) //判断是否为三角形
{ return (a+b+c);
}
else
{ System.out.println("不是一个三角形,不能计算周长");
return 0;
}
}
public double area()
{ if(a+b>c&&a+c>b&&c+b>a)
{ double p=(a+b+c)/2.0;
return (Math.sqrt(p*(p-a)*(p-b)*(p-c)));
}
else
{ System.out.println("不是一个三角形,不能计算面积");
return 0;
}
}
}
public class shapeExample
{ public static void main(String args[])
{ Rectangle juxing=new Rectangle(2.0,3.0); //创建矩形对象
System.out.println("矩形的周长为:"+juxing.length());
System.out.println("矩形的面积为:"+juxing.area());
Trangle sanjiao=new Trangle(3.0,4.0,5.0);
System.out.println("三角形的周长为:"+sanjiao.length());
System.out.println("三角形的面积为:"+sanjiao.area());
Shape juxing1=new Rectangle(3.0,4.0); //juxing1是Rectangle对象的上转型对象
System.out.println("矩形的周长为:"+juxing1.length());
System.out.println("矩形的面积为:"+juxing1.area());
Shape sanjiao1=new Trangle(1.0,4.0,5.0);
System.out.println("三角形的周长为:"+sanjiao1.length());
System.out.println("三角形的面积为:"+sanjiao1.area());
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -