欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    面向对象程序设计作业答案.doc

    • 资源ID:17691867       资源大小:154KB        全文页数:10页
    • 资源格式: DOC        下载积分:15金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要15金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    面向对象程序设计作业答案.doc

    【精品文档】如有侵权,请联系网站删除,仅供学习与交流面向对象程序设计作业答案.精品文档.面向对象程序设计作业一1. 类和对象的概念和关系是什么?对象是系统中用来描述客观事物的一个实体,它是构成系统的一个基本单位。一个对象由一组属性和对这组属性进行操作的一组服务组成,类是具有相同属性和服务的一组对象的集合。类是对象的模板,对象是类的实例2. 用UML表示交通工具Vehicle类及名为car1,car2及car3的三个Vehicle对象car2:Vehiclecar3:Vehiclecar1:VehicleVehicle对于账户的最小余额,每个账户都共享一个共同的值。3. 简述对象之间的消息传递机制是如何实现的? 当程序运行时,我们使用类和由类生成的对象来完成任务。而要命令类或对象执行某项任务,就需要给它发送一条消息(message)。为了能够处理所接收到的消息,类或对象必须拥有相应的方法(method)。一个方法就是一个指令序列,也就是一段程序代码,类似于C语言中的函数。为类定义的方法称为类方法(class method),为对象定义的方法称为实例方法(instance method)。类方法可以通过类直接调用,实例方法则必须先创建类的实例才能够调用。4. import语句的用途是什么?Java程序是否总要包括import语句?import保留字用于引入其他包中的类。Java如果使用的都是同一包的类的话则不需要import保留字。5. 什么是Java的源文件?什么是字节码文件?Java的源文件是以.java结尾的文本文件,字节码文件是将Java源文件经过Java编译器编译后的文件,字节码文件不能直接运行,只能运行于Java虚拟机之上。6. Java虚拟机是什么?它有作用是什么?Java虚拟机是一个想象中的机器,在实际的计算机上通过软件模拟来实现。Java语言的一个非常重要的特点就是与平台的无关性。而使用Java虚拟机是实现这一特点的关键。一般的高级语言如果要在不同的平台上运行,至少需要编译成不同的目标代码。而引入Java语言虚拟机后,Java语言在不同平台上运行时不需要重新编译。Java语言使用模式Java虚拟机屏蔽了与具体平台相关的信息,使得Java语言编译程序只需生成在Java虚拟机上运行的目标代码(字节码),就可以在多种平台上不加修改地运行。Java虚拟机在执行字节码时,把字节码解释成具体平台上的机器指令执行。7. 描述对象声明和对象生成之间的区别。使用内存状态图来说明这种区别对象声明是为对象的引用创建一个空间,而对象生成则是创建一个类的实例,即为对象分配空间,如果需要的话,其还会将对象空间的地址赋给其应用。如 Tester t1;t1t1 = new Tester();t1 :Tester8. 编写Java应用程序,用一个对话框显示当前时间import javax.swing.*;import java.util.*;public class Test public static void main(String args) Date today = new Date( ); JOptionPane.showMessageDialog(null,today);9. 下面的代码段会有什么样的输出:class Q2main public static void main(String args) QuestionTwo q2; q2= new QuestionTwo(); q2.init(); q2.increment(); q2.increment(); System.out.println(q2.getCount();class QuestionTwo private int count; public void init() count=1; public void increment() count=count+1; public int getCount() return count;输出结果:310. 编写可以根据用户的年龄和身高给出推荐的体重的程序,利用下面的公式计算出推荐的体重:recommandedWeight=(height -100 + age/10)*0.9定义名为Height(身高)的公共服务类,他应该有可以根据身高得出推荐体重的方法public class Test public static void main(String args) Weight w1 = new Weight(); System.out.println( w1.getRecommendedWeight(30,170);class Weightpublic double getRecommendedWeight(int age,int height) return (height - 100 + age/10) *0.9;作业二1.假如x的值为10,y的值为20,z的值为30,求出下列布尔表达式的值:a) x>y && y>x:falseb) (x<y+z) && (x+10<=20):truec) !(x<y+z) | !(x+10<=20):falsed) !(x=y) && (x!=y) && (x<y | y<x):true2.用switch语句重写下面的if语句。selection=Inter.parseInt(JOptionPane.showInputDialog(null,”Enter selection:”);if (selection=0) System.out.println(“You selected Magenta”);else if (selection=1) System.out.println(“You selected Red”);else if (selection=2) System.out.println(“You selected Blue”);else if (selection=3) System.out.println(“You selected Green”);else System.out.println(“Invalid selection”);改写为:selection=Inter.parseInt(JOptionPane.showInputDialog(null,”Enter selection:”);swith (selection)case 0: System.out.println(“You selected Magenta”);break;case 1: System.out.println(“You selected Red”);break;case 2:System.out.println(“You selected Blue”);break;case 3:System.out.println(“You selected Green”);break;default: System.out.println(“Invalid selection”);3.画出下面两个switch语句的控制流程图a) switch (choice) case 1: a=0; break; case 2: b=1; break; case 3: c=2; break; case 4: d=3: break;b) switch (choice) case 1: a=0; case 2: b=1; case 3: c=2; default: d=3;a)b)4.分别用for、do-while和while语句计算下面的累加和:c) 1+1/2+1/3+1/4+1/15for循环:int x;double result=0.0F;for(double i=1;i<=15;i+) result+=1/i;System.out.println(result);do-while循环:double x=1;double result=0.0F;do result+=1/x; x+;while(x<=15);System.out.println(result);while循环:double x=1;double result=0.0F;while(x<=15) result+=1/x; x+;System.out.println(result);d) 5+10+15+50for循环:int x;int result=0;for(int i=1;i<=10;i+) result+=i*5;System.out.println(result);do-while循环:int x=1;int result=0;do result+=x*5; x+;while(x<=10);System.out.println(result);while循环:int x=1;int result=0;while(x<=10) result+=x*5; x+;System.out.println(result);5.编写一个计算闰年的程序,要求用户输入一个年份,如果用户输入的年份不在03000年内则给予用户提示要求其重新输入,否则判断该年份是否为闰年并返回结果。public class Test public static void main(String args) LeapYear ly=new LeapYear(); System.out.println(puteLeapYear(1998); System.out.println(puteLeapYear(1900); System.out.println(puteLeapYear(2000); class LeapYearpublic boolean computeLeapYear(int year)if (year % 4 = 0 && year % 100 != 0 )return true;if (year % 100 = 0 && year % 400 = 0 )return true;return false;6.下列哪一组重载方法是不合法的?e) public void compute(int num)public int compute(int num)f) public void move(double length)public void move()g) public int adjust(double amount)public void adjust(double amount , double charge)h) public void doWork() public void doWork(String name)public int doWork(double num)第 a)组7.完成下面这个类中的前四个构造方法。其中每一构造方法都是用关键字this调用第五个构造方法: class Cat private static final String DEFAULT_NAME = "NO NAME" private static final int DEFAULT_HGT=6; private static final double DEFAULT_WGT=10.0; private String name; private int height; private double weight; public cat() /分配缺省值给个成员变量 this(“”,0,0); public cat(String name) /将参数值赋给name这个成员变量,height和weight赋缺省值 this(name,0,0); public cat(String name int height) /将参数值分别赋给name和height两个成员变量,weight赋缺省值 this(name,height,0); public cat(String name int weight) /将参数值分别赋给name和weight两个成员变量,height赋缺省值 this(name,0, weight); publie cat(String name,int height,double weight) this.name=name; this.height=height; this.weight=weight;8.为Fraction定义一个类方法compare,compare接受两个Fraction对象f1和f2,并返回:1.如果f1小于f2,返回-12.如果f1等于f2,返回03.如果f1大于f2,返回1public static int compare (Fraction f1, Fraction f2) double f1_dec = f1.decimal();double f2_dec = f2.decimal();if (f1_dec <f2_dec) return -1; else if(f1_dec =f2_dec) return 0; else return 1;作业三1.什么是异常?Java的异常处理机制是?异常(exception)表示在程序正常运行过程中可能发生的错误的情形。Java通过面向对象的方法来处理异常。在一个方法的运行过程中,如果发生了异常,则这个方法生成代表该异常的一个对象,并把它交给运行时系统,运行时系统寻找相应的代码来处理这一异常。把生成异常对象并把它提交给运行时系统的过程称为抛弃(throw)一个异常。运行时系统在方法的调用栈中查找,从生成异常的方法开始进行回朔,直到找到包含相应异常处理的方法为止,这一个过程称为捕获(catch)一个异常。2.分别输入-1,0和12XY,请写出这段代码的输出结果。int number1;trynumber1 = Integer.parseInt(JOptionPane.showInputDialog(null,"input");if (number1 !=0)throw new Exception("Not Zero");catch (NumberFormatException e)System.out.println("Cannot convert to int");catch (Exception e) System.out.println("Error:"+e.getMessage();finallySystem.out.println("finally Clause Executed");输入-1时:Error:Not Zerofinally Clause Executed输入0时:finally Clause Executed输入12XY时:Cannot convert to intfinally Clause Executed3. 分析下面程序代码的输出结果: class MyException extends Exception public MyException() public MyException(String msg) super(msg); public class ExceptionTest public static void f() throws MyException System.out.println("The 1st line of f()"); throw new MyException("Originated in f()"); public static void main(String args) System.out.println("The 1st line of main()"); try System.out.println("The 2nd line of main()"); f(); System.out.println("The 3rd line of main()"); catch(MyException e) System.out.println(e.getMessage(); finally System.out.println("The 4th line of main()"); System.out.println("The 5th line of main()"); 输出结果为:The 1st line of main()The 2nd line of main()The 1st line of f()Originated in f()The 4th line of main()The 5th line of main()4. 分析下面程序代码的输出结果:class Shape void draw() System.out.println("Shape.draw()");class Circle extends Shape void draw() System.out.println("Circle.draw()");class Square extends Shape void draw() System.out.println("Square.draw()");class ShapeGenerator public Shape getShape(int index) switch(index) default: case 0: return new Circle(); case 1: return new Square(); public void shapeDraw(Shape s) s.draw();public class Shapes private static ShapeGenerator gen =new ShapeGenerator(); public static void main(String args) Shape s = new Shape3; for(int i = 0; i < s.length; i+) si = gen.getShape(i); for(int i = 0; i < s.length; i+) gen.shapeDraw(si);输出结果为:Circle.draw()Square.draw()Circle.draw()5. this和super关键字的意义和作用是?this它代表当前对象名,可用来调用本类中另一种形成的构造函数(应该为构造函数中的第一条语句),在程序中易产生二义性之处,应使用this来指明当前对象;super:它引用当前对象的直接父类中的成员 ,可以用来调用基类中的某一个构造函数(应该为构造函数中的第一条语句,)也可以用来在基类与派生类中有相同成员定义时直接访问父类中被隐藏的父类中成员数据或函数。6. 抽象方法和抽象类的特点和作用是?一个方法的前面有修饰符abstract,说明这个方法是个抽象方法。抽象方法没有方法体,只有方法声明。抽象类前面有修饰符abstract,如果一个类的包含一个或者多个抽象方法,则这个类必须定义为抽象的。不能产生抽象类的任何实例。7. 按以下要求给出相应的程序代码段:a) 创建一个抽象类AbstractBase,该类包含一个抽象方法finBase();b) 创建一个接口MyInterface,该类包含方法finInterface ();c) 创建一个非抽象类MyClass,该类继承AbstractBase并实现MyInterface。public class Test public static void main(String args) TestClass t1,t2; t1=new TestClass(); t1.testFun(); t2=new TestClass(10); t2.testFun();abstract class AAbstractBaseabstract void testFun();class TestClass extends AAbstractBaseint i;TestClass()this(0);TestClass(int i)this.i=i;void testFun()System.out.println(i);

    注意事项

    本文(面向对象程序设计作业答案.doc)为本站会员(豆****)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开