Circle.java:
package javaDemo1;
import java.util.Scanner;
/**
* 使用面向对象的方式创建一个圆类,分别计算周长和面积
* 1、定义类:Cirlce
* 2、抽取属性
* 3、定义方法
* 4、调用方法并打印结果
* @author Monster丶ZF
* @version1.8
* @data 2019年4月30日
* @remakeTODO
*/
public class Circle {
/** 圆的半径**/
private double radius;
/**圆的周长**/
public double perimeter;
/**圆的面积**/
public double area;
/**默认的构造函数**/
public Circle(){
inputRadius(); //调用默认构造函数时就让用户输入半径
}
/**重载的构造函数**/
public Circle(double radius1){
if(radius1 > 0){ //如果传过来的半径值正常就直接赋给radius,
radius = radius1;
}else{ //否则让用户输入
System.out.println("半径不能小于0,请重新输入:");
inputRadius();
}
}
/**用来输入半径的方法**/
private void inputRadius(){
Scanner input = new Scanner(System.in);
System.out.println("请输入圆半径:");
radius = input.nextDouble();
input.close();
}
/**用来计算周长的方法**/
public void showperimeter(){
if(radius <= 0 ){
inputRadius();//如果用户没有输入半径,那么强制用户输入半径
}
perimeter = 2 * Math.PI* radius;
String str = String.format("周长为:%.2f", perimeter);
System.out.println(str);
}
/**用来计算面积的方法**/
public void showarea(){
if(radius <= 0 ){
inputRadius();//如果用户没有输入半径,那么强制用户输入半径
}
area = Math.PI * Math.pow(radius, 2);
String str = String.format("面积为:%.2f", area);
System.out.println(str);
}
}
CircleTest.java:
package javaDemo1;
public class CircleTest {
public static void main(String[] args) {
Circle circle = new Circle(); //创建对象时就直接调用构造函数初始化
//Circle circle = new Circle(3); //如果传了一个参数则调用有参数的构造函数来初始化
circle.showperimeter();
circle.showarea();
}
}
创建对象时不带参数的
创建对象时给一个参数的
如果输入一个非法半径