java题目解答

一对象的创建和使用编写一个圆环类Ring的Java程序。圆环类有3个变量,分别是内半径innerRadius,外半径outerRadius和颜色color,这些属性可以查... 一 对象的创建和使用
编写一个圆环类Ring的Java程序。圆环类有3个变量,分别是内半径innerRadius,外半径outerRadius和颜色color,这些属性可以查看也可以重新设置,另外,圆环还可以返回其面积area。程序运行时效果如图所示。

1.仔细阅读程序以下清单,并完成其中的代码1~4。
程序清单
//Ring.java
public class Ring
{
private double innerRadius;
private double outerRadius;
public String color;
public Ring(double iRadius,double oRadius,String c)
{
innerRadius=iRadius;
代码1 //初始化外半径
color=c;
}
public double getInnerRadius()
{
代码2 //返回内半径
}
public double getOuterRadius()
{
return outerRadius;
}
public void setInnerRadius(double iRadius)
{
innerRadius=iRadius;
}
public void setOuterRadius(double oRadius)
{
outerRadius=oRadius;
}
public void setColor(String c)
{
代码3 //设置颜色
}
public double getArea()
{
return(outerRadius*outerRadius-innerRadius*innerRadius)*3.141;
}
}
class Example
{
public static void main(String args[])
{
Ring ring=new Ring(5,8,"red");
System.out.println("圆环的内半径:"+ring.getInnerRadius());
System.out.println("圆环的外半径:"+ring.getOuterRadius());
System.out.println("圆环的颜色:"+ring.color);
System.out.println("圆环的面积:"+ring.getArea()+"\n");
ring.setInnerRadius(4);
代码4 //设置圆环ring 的外半径为6
ring.setColor("blue");
System.out.println("圆环的内半径:"+ring.getInnerRadius());
System.out.println("圆环的外半径:"+ring.getOuterRadius());
System.out.println("圆环的颜色:"+ring.color);
System.out.println("圆环的面积:"+ring.getArea()+"\n");
}
}

1.现将程序中的语句
Ring ring=new Ring(5,8,”red”);
改成
Ring ring=new Ring();
修改后编译运行,此时有错误发生吗?分析错误的原因。
2.接着为程序添加一个如下所示的默认构造方法,观察程序运行是否还有上述错误发生。
Public Ring()
{
innerRadius=1.0;
outerradius=2.0;
color=”white”;
}
3.请把程序中的如下语句:
System.out.println("圆环的内半径:"+ring.getInnerRadius());
System.out.println("圆环的外半径:"+ring.getOuterRadius());
改成
System.out.println("圆环的内半径:"+ring.innerRadius);
System.out.println("圆环的外半径:"+ring.outerRadius);
编译后,此时程序运行结果如何?(只写出错误提示即可)
4.现在请为该圆环类Ring再添中两个方法以便能返回内圆和外圆的周长,然后在main方法中分别创建两个对象ring1以显示周长。
5.仔细仔细阅读该程序,写出其功能(加注释)。
展开
 我来答
PPxuelianhua
2009-04-09 · TA获得超过282个赞
知道小有建树答主
回答量:135
采纳率:0%
帮助的人:0
展开全部
Ring ring=new Ring(5,8,”red”);
改成
Ring ring=new Ring();
修改后编译运行,此时有错误发生.
如果类中没有定义构造函数,系统会自动生成一个没有参数也没有赋初值的功能的构造函数.
如你的类Ring中如果没有定义了这个构造函数
public Ring(double iRadius,double oRadius,String c)
{
innerRadius=iRadius;
代码1 //初始化外半径
color=c;
}

这里系统里自会生成默认构造函数:
Ring(){};
这时你就可以用Ring ring=new Ring(); 这个语句实例化.
但是如果类在有了自定义的构造函数后.系统就不会生成默认构造函数,即不能用Ring ring=new Ring(); 实例化对象.
如果想用这个语句,你也可以在类内定义这个没有参数的构造函数,即加上这个代码:

Ring(){
//这里也可以给每个变量赋初值,不用也行,一个语句没有也行.
};

2.接着为程序添加一个如下所示的默认构造方法,观察程序运行是否还有上述错误发生。
Public Ring()
{
innerRadius=1.0; //这里就给变量赋了初值
outerradius=2.0;
color=”white”;
}
正如前面后说,这时就不会出现错误了.

3.错误提示为ring.innerRadius为不可访问的,因为innerRadius私有的,所以不能直接访问.

4.现在请为该圆环类Ring再添中两个方法以便能返回内圆和外圆的周长,
public double getInnerPerimeter(){//圆内周长

return innerRadius*2*Math.PI;
}

public double getOuterPerimeter(){//圆外周长

return outerRadius*2*Math.PI;
}

显示其周长只要在main中定义有
Ring ring1 = new Ring(3,6,Color.blue);
Ring ring2 = new Ring(4,9,Color.black);
System.out.println("内圆的周长:"+ ring1.getInnerPerimeter());//输出内周长
System.out.println("外圆的周长:"+ ring1.getOuterPerimeter());//输出外周长

System.out.println("内圆的周长:"+ ring2.getInnerPerimeter());//输出内周长
System.out.println("外圆的周长:"+ ring2.getOuterPerimeter());//输出外周长

就可以显示两个对象的周长了.

5.仔细仔细阅读该程序,写出其功能(加注释)。
public class Ring
{
private double innerRadius;
private double outerRadius;
public String color;
public Ring(double iRadius,double oRadius,String c)
{
innerRadius=iRadius;
outerRadius = oRadius;//代码1 //初始化外半径
color=c;
}
public double getInnerRadius()
{
//代码2 //返回内半径
return innerRadius;
}
public double getOuterRadius()
{
return outerRadius;
}
public void setInnerRadius(double iRadius)
{
innerRadius=iRadius;
}
public void setOuterRadius(double oRadius)
{
outerRadius=oRadius;
}
public void setColor(String c)
{
color=c;//代码3 //设置颜色
}

public double getInnerPerimeter(){//圆内周长

return innerRadius*2*Math.PI;
}

public double getOuterPerimeter(){//圆外周长

return outerRadius*2*Math.PI;
}

public double getArea()
{
return(outerRadius*outerRadius-innerRadius*innerRadius)*3.141;
}
}
class Example
{
public static void main(String args[])
{
Ring ring=new Ring(5,8,"red");
System.out.println("圆环的内半径:"+ring.getInnerRadius());
System.out.println("圆环的外半径:"+ring.getOuterRadius());
System.out.println("圆环的颜色:"+ring.color);
System.out.println("内圆的周长:"+ ring.getInnerPerimeter());//输出内周长
System.out.println("外圆的周长:"+ ring.getOuterPerimeter());//输出外周长
System.out.println("圆环的面积:"+ring.getArea()+"\n");
ring.setInnerRadius(4);
ring.setInnerRadius(6);//代码4 //设置圆环ring 的外半径为6
ring.setColor("blue");
System.out.println("圆环的内半径:"+ring.getInnerRadius());
System.out.println("圆环的外半径:"+ring.getOuterRadius());
System.out.println("圆环的颜色:"+ring.color);
System.out.println("圆环的周长:"+ ring.getInnerPerimeter());//
System.out.println("圆环的面积:"+ring.getArea()+"\n");
}
}

运行结果:

圆环的面积:122.499

圆环的内半径:6.0
圆环的外半径:8.0
圆环的颜色:blue
圆环的周长:37.69911184307752
圆环的面积:87.94800000000001
左手西阳
2009-04-09 · TA获得超过5719个赞
知道大有可为答主
回答量:4835
采纳率:37%
帮助的人:2459万
展开全部
1、编译出错。一旦自己定义了构造函数,系统将不再提供默认构造函数。所以无参构造函数是不存在的
2、现在有无参构造方法了,就没问题了
3、私有属性不可直接调用
4、原来你把原题贴过来了,那你自己想想再问吧
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
辰思见鸟还
2009-04-09 · 超过10用户采纳过TA的回答
知道答主
回答量:50
采纳率:0%
帮助的人:35.2万
展开全部
1.现将程序中的语句
Ring ring=new Ring(5,8,”red”);
改成
Ring ring=new Ring();
修改后编译运行,此时有错误发生吗?分析错误的原因。
会出现错误,因为在RING 里没有无参构造函数。
2,不会出现1中的错误,因为你写无参构造函数了!
3,会说无法访问,因为你将其定义为私有的了!在除了本类就访问不到了!
4,.......二楼回答就很好啊!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
weivs28
2009-04-09 · TA获得超过138个赞
知道答主
回答量:100
采纳率:0%
帮助的人:84万
展开全部
小白问题 多看看书 不予回答
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式