题目描述:
编写一个圆环类Ring的Java程序。
a定义圆环类的2个数据成员,分别是内半径innerRadius,外半径outerRadius,这些属性通过get和set方法进行封装。
b 定义圆环类有参构造方法Ring(int innerRadius,int outerRadius),在有参构造方法中加入System.out.println(“constructor”);
c完成无参构造方法Ring(),要求在无参构造方法中使用this调用有参构造方法给两个半径赋值(外半径赋值3,内半径赋值1)
d 圆环类中定义 public int getArea()方法可以返回其面积。面积求出后强制转换为整型值返回,π使用Math.PI表示。
在Main类中先生成一个圆环类对象,这个圆环的两个半径通过键盘读入,调用求面积方法求出面积后,输出面积。
然后再次定义一个圆环对象,调用无参构造方法,调用求面积方法求出面积后,输出面积。
输入格式:
输入在一行中先给出内半径,再给出外半径。
输出格式:
在一行中输出圆环的面积。
输入样例:
1 2
输出样例:
constructor
9
constructor
25
答案:
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int inner = sc.nextInt();
int out = sc.nextInt();
Ring r1 = new Ring(inner,out);
System.out.println(r1.getArea());
Ring r2 = new Ring();
System.out.println(r2.getArea());
}
}
//圆环类
class Ring{
private int innerRadius;
private int outRadius;
public int getArea(){
double a1 = outRadius*outRadius*Math.PI;
double a2 = innerRadius*innerRadius*Math.PI;
return (int)(a1-a2);
}
public Ring(int innerRadius, int outRadius) {
System.out.println("constructor");
this.innerRadius = innerRadius;
this.outRadius = outRadius;
}
public Ring() {
this(1,3);
}
public int getInnerRadius() {
return innerRadius;
}
public void setInnerRadius(int innerRadius) {
this.innerRadius = innerRadius;
}
public int getOutRadius() {
return outRadius;
}
public void setOutRadius(int outRadius) {
this.outRadius = outRadius;
}
@Override
public String toString() {
return "Ring{" +
"innerRadius=" + innerRadius +
", outRadius=" + outRadius +
'}';
}
}
解析:
题简单,做题的人不简单!
你我共勉!!!