为了账号安全,请及时绑定邮箱和手机立即绑定

如下有关JAVA编程题,该如何构造一个Circle类实现圆?

如下有关JAVA编程题,该如何构造一个Circle类实现圆?

梦里花落0921 2022-07-08 09:05:57
构造一个Circle类,该类有一个私有double变量radius存放半径,可以通过get/set方法进行访问。该类具有getArea和getLength两个方法,能够利用半径和Math.PI计算高精度的面积和周长。输入要求任意多个双精度半径,每行一个输出要求第一行具有该半径的圆的面积和周长,保留两位小数第二行具有2倍于该半径的圆的面积和周长,保留两位小数假如输入123应当输出3.14 6.2812.57 12.5712.57 12.5750.27 25.1328.27 18.85113.10 37.70
查看完整描述

2 回答

?
泛舟湖上清波郎朗

TA贡献1818条经验 获得超3个赞

Circle.java
/**
* @Description TODO
* @Author Becolette
* @Date 2017-4-11 下午09:13:39
* @Modified By Becolette at 2017-4-11 for TODO
*/
public class Circle {

private double radius; // 半径

public double getRadius() {
return radius;
}

public void setRadius(double radius) {
this.radius = radius;
}

public double getArea(double radius) {
return Math.PI * radius * radius;
}

public double getLength(double radius) {
return 2 * Math.PI * radius;
}
}
Test1.java
import java.text.DecimalFormat;
import java.util.Scanner;

/**
* @Description TODO
* @Author Becolette
* @Date 2017-4-9 下午07:52:35
* @Modified By Becolette at 2017-4-9 for TODO
*/
public class Test1 {

/**
* @Description TODO
* @Author Becolette
* @Date 2017-4-9 下午07:52:35
* @Modified By Becolette at 2017-4-9 for TODO
*/
public static void main(String[] args) {
Circle circle = new Circle();
DecimalFormat df = new DecimalFormat("#.00");
Scanner input = new Scanner(System.in);
System.out.println("输入半径:");
double r = input.nextDouble();
System.out.print("周长=" + df.format(circle.getLength(r)) + " 面积=" + df.format(circle.getArea(r)));
System.out.println("周长=" + df.format(2 * circle.getLength(r)) + " 面积=" + df.format(2 * circle.getArea(r)));
}
}


查看完整回答
反对 回复 2022-07-11
?
慕桂英3389331

TA贡献2036条经验 获得超8个赞


public class Circle {     private Double radius;     public Double getArea() {        if (radius == null || radius <= 0) {            throw new RuntimeException("radius不合法");        }        return Math.PI * radius * radius;    }     public Double getLength() {        if (radius == null || radius <= 0) {            throw new RuntimeException("radius不合法");        }        return Math.PI * 2 * radius;    }     public Double getRadius() {        return radius;    }     public void setRadius(Double radius) {        this.radius = radius;    } }

import java.util.Scanner; public class App {     public static void main(String[] args) {        Scanner input = new Scanner(System.in);        Circle circle = new Circle();        while (true) {            Double radius = input.nextDouble();            circle.setRadius(radius);            System.out.println(String.format("%.2f %.2f", circle.getArea(),                    circle.getLength()));            circle.setRadius(radius * 2);            System.out.println(String.format("%.2f %.2f", circle.getArea(),                    circle.getLength()));        }    }}


查看完整回答
反对 回复 2022-07-11
  • 2 回答
  • 0 关注
  • 208 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信