77范文网 - 专业文章范例文档资料分享平台

第3章-面向对象程序设计-上机实验要求 (1)

来源:网络收集 时间:2019-03-28 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:或QQ: 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

第一题:

1. 编写一个圆环类Ring的Java程序。圆环类有3个数据成员,分别是内半径innerRadius,

外半径outerRadius和颜色color,这些属性可以查看get也可以重新设置set。另外,圆环还可以返回其面积。程序运行效果如下图所示:

实验要求:

A. 现将下面的源程序补充完整

B. 现在将Ring ring = new Ring(5,8,\改成Ring ring = new Ring();编译运行有错误

发生吗?分析错误的原因

C. 为程序添加一个默认构造函数,看一下运行结果

Public Ring(){

innerRadius=1.0; outerRadius=2.0; color=\}

D. 把程序中的如下语句:

System.out.println(\圆环的内半径: \

System.out.println(\圆环的外半径: \改成:

System.out.println(\圆环的内半径: \

System.out.println(\圆环的外半径: \

编译运行,其结果如何?应如何修改这个错误?

E. 请为该圆环类再添加两个方法以便能返回内圆和外圆的周长,然后在main()函数中

分别创建两个对象ring1,ring2以显示周长。 F. 注:源代码Ring.java public class Ring {

private double innerRadius; private double outerRadius; public String color;

public Ring(double iRadius, double oRadius, String c) {

innerRadius = iRadius; //初始化外半径

color = c; }

public double getInnerRadius( ) {

//返回内半径 }

public double getOuterRadius( ) {

return outerRadius; }

public void setInnerRadius(double iRadius) {

innerRadius = iRadius; }

public void setOuterRadius(double oRadius) {

outerRadius = oRadius; }

public void setColor(String c) {

//设置颜色 }

public double getArea() {

return (outerRadius * outerRadius - innerRadius * innerRadius) * 3.1415; }

public static void main(String[] args) {

Ring ring = new Ring(5,8,\ System.out.println(\圆环的内半径: \ System.out.println(\圆环的外半径: \ System.out.println(\圆环的颜色: \

System.out.println(\圆环的面积: \

ring.setInnerRadius(4); //设置圆环ring的外半径为6 ring.setColor(\ System.out.println(\圆环的内半径: \ System.out.println(\圆环的外半径: \ System.out.println(\圆环的颜色: \ System.out.println(\圆环的面积: \ } }

第二题:

2. 编写一个圆类Circle,其中有圆周率、半径和圆对象个数,其中圆周率和圆对象个数为

static成员。此外,Circle中还有两个static方法分别是设置圆周率和显示当前圆对象个数,其余都是实例成员,仔细体会静态成员与实例成员的差别和使用方法。程序运行效果如下: 实验要求:

A. 请将程序中的语句:

System.out.println(\圆周率是: \cir1.displayNo(); 改成

System.out.println(\圆周率是: \Circle.displayNo();

修改后编译运行,程序会报错吗?为什么?接着如果将语句cir1.setRadius(10);改成Circle.setRadius(10);情况又会怎样呢?

B. 现在将圆周率Pi的static去掉,修改后编译运行,会报错吗?产生错误的原因是什

么?

C. 程序中的数据成员objectNo为什么要设置成static类型?它的作用是什么? D. 注:源代码StaticTest.java class Circle {

static double pi = 3.14; static int objectNo = 0; int radius;

Circle(int r) {

radius=r; objectNo++; }

Circle( ) {

radius = 2; objectNo++; }

double getArea( ) {

return pi*radius*radius; }

static void setPI(double p) {

pi = p; }

void setRadius(int r) { radius = r; }

static void displayNo( ) { System.out.println(\当前圆对象个数是: \ } }

public class StaticTest {

public static void main( String args[] ) {

Circle cir1 = new Circle(5);

System.out.println(\圆周率是: \ System.out.println(\的半径是: \

System.out.println(\的面积是: \ cir1.displayNo(); cir1.setRadius(10); Circle cir2 = new Circle( );

cir2.setPI(3.1415); System.out.println(\圆周率是: \ System.out.println(\的半径是: \ System.out.println(\的半径是: \ System.out.println(\的面积是: \ cir2.displayNo(); } }

第三题:

3. 查看如下源程序: 实验要求:

A. 请先分析程序的运行结果,然后再运行该源代码:

程序结果分析: B. 将程序中的语句//z=20;前面的注释符去掉,编译会报错吗?为什么?

C. 程序中有两个方法setx()与setm(),它们分别是对类中的数据x和m进行设置。现

在将在方法setm()中的ScopeTest.m=m;改成this.m=m,编译程序是否会报错?如果确实会报错,再将setm()方法前面的static修饰符去掉,看是否能编译成功,并解释其中的原因。

D. 在程序中方法show()中定义了一个循环语句,在这个循环语句块里声明了一个变量

z,现将这个变量z的名字改成y,编译程序,看其运行情况 E. 源代码:ScopeTest.java class ScopeTest {

int x;

static int m=0;

void show( ) { int x=8, y; for (y=0; y<2; y++) { int z=5; System.out.println(\ z = 10;

System.out.println(\

百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库第3章-面向对象程序设计-上机实验要求 (1)在线全文阅读。

第3章-面向对象程序设计-上机实验要求 (1).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.77cn.com.cn/wenku/zonghe/550227.html(转载请注明文章来源)
Copyright © 2008-2022 免费范文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ: 邮箱:tiandhx2@hotmail.com
苏ICP备16052595号-18
× 注册会员免费下载(下载后可以自由复制和排版)
注册会员下载
全站内容免费自由复制
注册会员下载
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: