厦门理工JAVA考试卷及答案标准试卷A卷.doc_第1页
厦门理工JAVA考试卷及答案标准试卷A卷.doc_第2页
厦门理工JAVA考试卷及答案标准试卷A卷.doc_第3页
厦门理工JAVA考试卷及答案标准试卷A卷.doc_第4页
厦门理工JAVA考试卷及答案标准试卷A卷.doc_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

考 生 信 息 栏 系 专业 级 班级 姓名 学号 装 订 线厦门理工学院试卷20112012 学年 第二学期课程名称Java面向对象程序设计试卷卷别 A B 专业 级 班级 班考试方式 闭卷 开卷 本试卷共 四大题( 6页),满分100分,考试时间120分钟。请在答题纸上作答,在试卷上作答无效。一、单选题:(本题共15小题,每题2分,共30分)1. Java应用程序的入口方法是_。A)start() B)init() C)paint() D)main()2. 下列选项在java中属于不合法的标识符的是_。A)BigMeaninglessNameB)_whatavariableC)#myvarD)$dollar 3. 当下列程序执行时,其输出结果是 。 int x = 5;int y = 2;System.out.println(x+ y + k);A)5k B)7k C)52k D)3k4. 下列代码中的“this”指的是 。 class B修改类名irdint x,y;void fly(int x,int y)this.x=x;this.y=y;A)Bird类的对象 修改描述 B)fly C)Bird或fly D)不一定5. 以下有关构造方法的说法,正确的是 。A)一个类的构造方法可以有多个B)构造方法在类定义时被调用C)构造方法只能由对象中的其它方法调用D)构造方法可以和类同名,也可以和类名不同6. 欲定义类字段或类方法(静态方法),应该使用下列哪一个修饰符修饰 。A) public B) static C) protected D) synchronized7. 在Java中,一个类可同时定义许多同名的方法,这些方法的形式参数的个数、类型或顺序各不相同,传回的值也可以不相同。这种面向对象程序特性称为 。A)隐藏 B)重写 C)重载 D)Java不支持此特性8. 下面属于public void demo(). 的重载函数的选项是_。A)private void demo().B)public int demo().C)public void demo2().D)public int demo(int m, float f).9. 在Java中不存在的布局方式是_。A)顺序布局(FlowLayout) B)边界布局(BorderLayout)C)网络布局(GridLayout) D)中央布局(CenterLayout)10. 当点击鼠标或者拖动鼠标时,触发的事件是下列的哪一个?A)KeyEvent B)ActionEvent C)ItemEvent D)MouseEvent11. Java语言的类间的继承关系是 。A) 多重的 B) 单重的 C) 线程的 D) 不能继承12. 设有下面两个类的定义: class Person long id; / 身份证号 String name; / 姓名 class Student extends Person int score; / 入学总分 int getScore() return score; 问:类Person和类Student的关系是 。A) 包含关系 B) 继承关系 C) 关联关系 D) 无关系,上述类定义有语法错误13. 下列有关子类继承父类构造函数的描述正确的是_。A)创建子类的对象时,先调用子类自己的构造函数,然后调用父类的构造函数B)子类无条件地继承父类不含参数的构造函数C)子类必须通过super关键字调用父类的构造函数D)子类无法继承父类的构造函数14. 请问所有的异常类皆继承哪一个类?A)java.applet.Applet B)java.lang.RuntimeException C)java.lang.Exception java.lang.Throwable和java.lang.Exception两个都可以选,将Throwable改成RuntimeException D)java.lang.Error15. 在代码中使用catch(Exception e)的好处是 。A)只会捕获个别类型的异常B)捕获try块中产生的所有类型的异常C)忽略一些异常D)执行一些程序二、程序填空题:(本题共15个空白,每个空白2分,共30分)1. 从键盘以nextLine方法读取一个字符串,将它转换为int值,然后判断其是否是闰年。(填写空白(1)(4)import java.util. (1) ;public class LeapYear public static void main(String arge) Scanner scan = new Scanner(System.in);System.out.println(输入年份:);String s = (2) ;int year=0;tryyear = (3) ;catch(Exception e)System.out.println(Exception here!);if ( (4) ) System.out.println(year + 年 是闰年.); else System.out.println(year + 年 不是闰年.);删除else后多余的括号2. 求数组的平均值(填写空白(5)(7)public class Averagepublic static void main(String args) int aryInt=23,17,1,71,59,89,24,65;int iLen= (5) ;int iSum = 0;for(int i=1;iiLen;i+) (6) ;System.out.println(The average is:+ (7) );3. 下面方法删除数组v_aryInt中第一个值为v_iKey的数,然后返回数组的长度。提示:若数组v_aryInt中找不到v_iKey,则返回数组原长度;若找到,则数组要保持连续性,长度要-1。(填写空白(8)(11)调整public int findFirst(int v_aryInt,int v_iKey)int iIdx = -1;int iLen = v_aryInt.length;for(i=0;i iLen;i+)if( (8) )/寻找v_iKey iIdx = i;break;If(iIdx != -1) /找到了for(int i=iIdx; (9) ;i+) (10) ; (11) ; return iLen;4. 产生50个10-89的随机数,统计产生的随机数为奇数的个数。(填写空白(12)(15)public class FindOdd public static void main(String args) int iIdx=0; int iCount=0; int iRandomNum; while( (12) ) iRandomNum = (13) ; if( (14) ) iCount +; (15) ; System.out.println(the cout of Odds is :+ iCount); 三、程序阅读题:(本题共3小题,每小题5分,共15分)1. 下列程序的运行结果是什么?public class Static_Count private static int iCount=0;public Static_Count()iCount+;public void myPrintln()System.out.println(the count is:+iCount);线 订 装考 生 信 息 栏 系 专业 级 班级 姓名 学号 装 订 线public class TestStatic public static void main(String args) Static_Count c1 = new Static_Count();Static_Count c2 = new Static_Count();Static_Count c3 = new Static_Count();c1.myPrintln();c2.myPrintln();2. 下列程序的运行结果是什么?public class Father public Father() System.out.println(”Father construtor!”); public void myFather()System.out.print(”MyFather!”); public class Son extends Father public Son() System.out.println(“Son construtor!”); public void mySon()System.out.print(”MySon!”); public class Test public static void main(String args) Son son = new Son(); 3. 下列程序的输出结果是什么?public class Example String str = new String(good); char ch = a, b, c ; public static void main(String args) Example ex = new Example (); ex.change(ex.str, ex.ch); System.out.print(ex.str + and ); System.out.print(ex.ch); public void change(String str, char ch) str = test ok;ch0 = g;四、程序设计题:(本题共2小题,第1小题10分,第2小题15分,共25分)1. A Modified MiniQuiz Class书中的Listing 6.8-6.10,是一个接口的例子,类Question实现了接口Complexity,类MiniQuiz创建了两个Question类的对象并使用这两个对象实现对用户进行小测验。运行程序你会发现文件MiniQuiz.java有出现代码重复的地方,如有两次的提问和两次的输入数据。请写一个方法askQuestion( )来避免这样的重复,实现提问、输入数据和决定回答是否正确,然后为q1和q2对象两次调用askQuestion( )方法。修改MiniQuiz类添加askQuestion ( )方法来取代main方法中的部分代码,要求如下: askQuestion( )方法必须定义在MiniQuiz类中,写在main( )方法之后。 askQuestion( )必须和main方法一样是静态方法。askQuestion( )方法只在类中被调用,所以它可以声明成private,方法头如下:private static void askQuestion(Question question) main( )方法中的变量possible应定义在askQuestion( )方法内 Scanner对象scan应被声明成static并移到main方法之上(这样可以在askQuestion方法中调用) 你不需要修改Question.java和Complexity.java 你需要写出完整的修改后的MiniQuiz.java文件作为本题目的答案要求:请写出完整的类代码,不写注释。2. Another Type of Employee书中Listing 9.1-9.7是用继承来实现多态的例子,要求添加一个新的雇员类型,这种雇员既可以是一个hourly employee,又可以赚取销售佣金。我们给它起名叫Commission类,它可以从Hourly类派生。1)按如下要求编写Commission类: Commission类继承自Hourly类 Commission类有两个类变量(不包含那些继承来的):总销售额totalSales(double类型),销售佣金率commissionRate(double类型)(小数形式,如.2代表20%) Commission类构造方法有6个参数,前5个参数和Hourly类相同(name, address, phone number, social security number, hourly pay rate),第六个参数是销售佣金率commission rate。 编写public void addSales (double totalSales)方法,用来更新销售总额。 重写pay( )方法,要先调用父类的pay方法计算小时工资,然后再加上销售佣金。 重写toString( )方法,要先调用父类的toString( )方法,然后再加上总销售额。2)更新Staff.java来测试你的程序: 将数组空间增加到8。 在staffList中添加两个commission雇员,填写你自己的names, addresses, phone numbers and social security numbers,第一个人每小时赚$6.25和20%的销售佣金率,第二个人每小时赚$9.75和15%的佣金率 第一个人工作35小时销售额是$400,第二个人工作40小时销售额是$950。 你需要写出完整的Comission.java文件和完整的Staff.java文件作为本题目的答案Java面向对象程序设计A卷答案一、单选题:(本题共15小题,每题2分,共30分)1-5: D C B A A 6-10: B C D D D 11-15: B B C C B二、程序填空题:(本题共15个空白,每个空白2分,共30分)1. (1)Scanner(或者*) (2)scan.nextLine()(或scan.next()增加一个备选答案 (3)Integer.parseInt(s) (4)year % 4 = 0 & year % 100 != 0 | year % 400 = 02. (5)aryInt.length (6)iSum += aryInti (7)(double)iSum/iLen3. (8)v_aryInti = v_iKey (9)iiLen-1 (10)v_aryInti = v_aryInti+1 (11)iLen-4. (12)iIdx 50(或iIdx!=50)增加一个备选答案 (13)(int) (Math.random() * 80+10)(14)iRandomNum % 2 != 0 (15)iIdx+(或iIdx = iIdx +1或iIdx +=1)Father construtor!Son construtor!the count is:3the count is:3三、程序阅读题:(本题共3小题,每小题5分,共15 分)1. 2. 3. good and gbc四、程序设计题:(本题共2小题,第1小题10分,第2小题15分,共25分)1. A Modified MiniQuiz Classimport java.util.Scanner;public class MiniQuiz private static Scanner scan = new Scanner(System.in); / 1分 scan应声明成static并移到main方法之上 public static void main (String args) Question q1, q2; q1 = new Question (What is the capital of Jamaica?, Kingston); q1.setComplexity (4); q2 = new Question (Which is worse, ignorance or apathy?, I dont know and I dont care); q2.setComplexity (10); askQuestion(q1); / 2分 askQuestion(q2); / 2分 private static void askQuestion(Question question) / 2分 askQuestion( )方法为private static类型方法 String possible; / 2分 main( )方法中的变量possible应定义在askQuestion( )方法内 System.out.print (question.getQuestion(); System.out.println ( (Level: + question.getComplexity() + ); possible = scan.nextLine(); if (question.answerCorrect(possible) / 1分 此段代码应包含在 System.out.println (Correct); / askQuestion()方法中 else System.out.println (No, the answer is + question.getAnswer(); 2. Another Type of Employeepublic class Commission extends Hourly / 1分 Commission要继承Hourly private double totalSales; / 1分 double类型 private double commissionRate; / 1分 double类型 public Commission(String eName, String eAddress, String ePhone, String socSecNumber, double rate, double comRate) / 应包含6个参数 super(eName, eAddress, ePhone, socSecNumber, rate); / 1分 commissionRate = comRate; / 1分 totalSales = 0; / 1分 public void addSales(double sales) totalSales += sales; / 1分 addSales(double sales)方法更新销售总额 public double pay() double payment = super.pay() + totalSales * commissionRate; totalSales = 0; / 1分 重写pay()方法 return payment; public String toString() / 1分 重写toString()方法 return super.toString() + nTotal sales: + totalSales; public class Staff StaffMember staffList; public Staff () staffList = new StaffMember8; / 1分 将数组空间增加到8staffList0 = new Executive (Sam, 123 Main Line, 555-0469, 123-45-6789, 2423.07); staffList1 = new Employee (Carla, 456 Off Line, 555-0101, 987-65-4321, 1246.15); staffList2 = new Employee (Woody, 789 Off Rocker, 555-0000, 010-20-3040, 1169.23); staffList3 = new Hourly (Diane

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论