package exe02;
import java.util.Scanner;
/*name:Excise1 功能:计算矩形和圆形的面积和周长
*/
public class second1 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
Rectangle re = new Rectangle();
System.out.print("请输入矩形的长和宽:");
double x = sc.nextDouble();
double y = sc.nextDouble();
while(x<y||x<0||y<0){
System.out.print("输入错误!请重新输入矩形的长和宽:");
x = sc.nextDouble();
y = sc.nextDouble();
}
re.setx(x);
re.sety(y);
re.printf();
Circle c = new Circle();
System.out.print("请输入圆的半径:");
double r = sc.nextDouble();
while(r<0){
System.out.print("输入错误!请输入圆的半径:");
r = sc.nextDouble();
}
c.setr(r);
c.printf();
sc.close();
}
}
//定义一个抽象类
abstract class shape{
//声明变量长,宽,半径
private double x;
private double y;
private double r;
public double getx() {
return x;
}
public void setx(double x) {
this.x = x;
}
public double gety() {
return y;
}
public void sety(double y) {
this.y = y;
}
public double getr() {
return r;
}
public void setr(double r) {
this.r = r;
}
}
class Rectangle extends shape{
double area;
public void Area() {
area = getx() * gety();
}
double perimeter;
public void Perimeter() {
perimeter = 2*(getx() + gety());
}
public void printf() {
Area();
Perimeter();
System.out.println("矩形的面积为:"+area);
System.out.println("矩形的周长为:"+perimeter);
}
}
class Circle extends shape{
double area;
public void Area() {
area = Math.PI * getr()*getr(); //因为PI为double类型
}
double perimeter;
public void Perimeter() {
perimeter = 2*Math.PI*getr();
}
public void printf() {
Area();
Perimeter();
System.out.println("圆形的面积为:"+area);
System.out.println("圆形的周长为:"+perimeter);
}
}