JAVA练习
第一题:
编写一个圆环类Ring的Java程序。圆环类有3个数据成员,分别是内半径innerRadius,外半径outerRadius和颜色color,这些属性可以查看get也可以重新设置set。另外,圆环还可以返回其面积。程序运行效果如下图所示:
实验要求:
现将下面的源程序补充完整
outerRadius = oRadius; //初始化外半径
return innerRadius; //返回内半径
color = c; //设置颜色
ring.setOuterRadius(6); //设置圆环ring的外半径为6
现在将Ring ring = new Ring(5,8,"red");改成Ring ring = new Ring();编译运行有错误发生吗?分析错误的原因
有错误发生,因为Ring ring = new Ring(5,8,"red");是在调用参数,构造方法的调用参数必须与在定义构造方法的参数列表中的参数一一对应(调用参数应当与相应参数的数据类型相匹配)
为程序添加一个默认构造函数,看一下运行结果
Public Ring(){
innerRadius=1.0;
outerRadius=2.0;
color="white";
}
没有变化
把程序中的如下语句:
System.out.println("圆环的内半径: " + ring.getInnerRadius( ));
System.out.println("圆环的外半径: " + ring.getOuterRadius( ));
改成:
System.out.println("圆环的内半径: " + ring.innerRadius ( ));
System.out.println("圆环的外半径: " + ring.outerRadius ( ));
编译运行,其结果如何?应如何修改这个错误?
运行错误。innerRadius 和outerRadius的类修饰词是private,不被外界所用。
可以将定义public double getInnerRadius( )
public double getOuterRadius( )
改为public double innerRadius( )
public double outerRadius( )
请为该圆环类再添加两个方法以便能返回内圆和外圆的周长,然后在main()函数中分别创建两个对象ring1,ring2以显示周长。
public double ring1()
{return (innerRadius*2*3.1415);}
public double ring2()
{return (outerRadius*2*3.1415);}
在main()函数中添加:
System.out.println("圆环的内圆周长:" + ring.ring1());
System.out.println("圆环的外圆周长:" + ring.ring2());
注:源代码Ring.java
public class Ring {
private double innerRadius;
private double outerRadius;
public String color;
public Ring(double iRadius, double oRadius, String c) {
innerRadius = iRadius;
outerRadius = oRadius;//初始化外半径
color = c;}
public Ring(){
innerRadius=1.0;
outerRadius=2.0;
color="white";}
public double innerRadius( ) {
return innerRadius; }
public double outerRadius( ) {
return outerRadius;}
public void setInnerRadius(double iRadius) {
innerRadius = iRadius;}
public void setOuterRadius(double oRadius) {
outerRadius = oRadius;}
public void setColor(String c) {
color = c; }
public dou