题解 | #根据周长求面积#

根据周长求面积

https://www.nowcoder.com/practice/f67cf4ac46dc45769aea8d94e0e2f6bd

import java.util.Scanner;

public class Main {

    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        while (scanner.hasNextDouble()) {
            double s = scanner.nextDouble();
            // Circle和Square是需要你定义的类
            System.out.println(String.format("%.3f",new Circle(s).getArea()));
            System.out.println(String.format("%.3f", new Square(s).getArea()));
        }
    }

}

class Shape {

    private double s; // 周长

    public Shape(double s) {
        this.s = s;
    }

    public double getS() {
        return s;
    }

}

interface Area {
    double getArea(); // 面积
}

// 圆形
class Circle extends Shape implements Area {

    //write your code here......
    public Circle(double s) {
        super(s);
    } 


    @Override
    public double getArea() {
        double r = this.getS() / (2 * Math.PI);
        return Math.PI * r * r;
    }
    
}

// 方形
class Square extends Shape implements Area {

    //write your code here......
    public Square(double s) {
        super(s);
    }

    @Override
    public double getArea() {
        double len = this.getS() / 4;
        return len * len;
    }

}

全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务