2012秋季Java程序设计期末考试试卷A卷含答案.pdf

上传人:l*** 文档编号:80685493 上传时间:2023-03-23 格式:PDF 页数:8 大小:315.12KB
返回 下载 相关 举报
2012秋季Java程序设计期末考试试卷A卷含答案.pdf_第1页
第1页 / 共8页
2012秋季Java程序设计期末考试试卷A卷含答案.pdf_第2页
第2页 / 共8页
点击查看更多>>
资源描述

《2012秋季Java程序设计期末考试试卷A卷含答案.pdf》由会员分享,可在线阅读,更多相关《2012秋季Java程序设计期末考试试卷A卷含答案.pdf(8页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、 华南农业大学期末考试试卷(A 卷)2012-2013学年第 1 学期 考试科目:Java 程序设计 考试类型:(闭卷)考试 考试时间:120 分钟 学号姓名年级专业 题号 一 二 三 四 总分 得分 评阅人 注意事项:第一大题选择题和第二大题判断题的答案必须填涂在机读卡上,第三、四大题答案写在答题卷上。考试结束时机读卡、答题卷和试卷都要上交。一、单项选择题(本大题共 18 小题,每小题 2 分,共 36 分)1.下列关于Java语言的说法,不正确的是_B_:A.Java是面向对象的高级语言 B.Java是解释型语言,所以执行速度快 C.一个类被编译成一个.class字节码文件 D.Java程

2、序可以做到“一次编写,随处运行”2.下列符合Java程序元素命名习惯的是_D_。A.double Radius B.int lengthofarray C.class shape D.final double PI 3.下列不满足自动类型转换的赋值语句是_C_。Aint c=A;B.long d=165;Cfloat b=26.3;D.double a=13;4.语句 int a=10,b=20;b+=a+;执行结束后,a 和 b 的值分别是_B_。A.10,30 B.11,30 C.10,31 D.11,31 5.下列程序段的输出结果是_D_。int m=4,n=9;System.out.p

3、rintln(“m+n=”+m+n);A.m+n=13 B.m+n=mn C.m+n=m+n D.m+n=49;6.下列关于for和while这两种循环语句的说法,正确的是_C_ A二者都是后置检查循环条件B循环次数不确定使用for语句比较好C循环条件是布尔型表达式D它们之间不能互相嵌套使用 7.下列程序片段执行后,y的值为_D_ 得分 int x=4,y=3;switch(x+3)case 7:y=7;case 8:y=8;default:y+;A.4 B.7 C.8 D.9 8.定义二维数组a,不正确的是_A_ A.double a 33;B.double a;C.double a;D.d

4、ouble a;9.设 int b=26,53,24,18,33,29,81,51,27,44,92,13,则_A_ A.数组一共有12个元素B.b2.length为4C.b.length为12D.b32等于81 10.下面一段代码的输出结果是_B_ class Test public static void main(String args)int a=36,31,0,11,8,13,24,49,33,16;s);System.out.println(a4);public static void s a,int i,int j)int t=ai;ai=aj;aj=t;A.8 B.33 C.1

5、1 D.49 11.关于字符串,下列语句不正确的是_C_ A.String s=new String(”Olympic game”);B.“Welcome to Guangzhou”.indexOf(o);C.String s=“Great Wall”;s.delete(2,5);D.StringBuffer buffer=new StringBuffer();buffer.append(“China”);12.关于类和对象,下列说法不正确的是_D_。A.类是对象的模板,对象是类的实例 B.面向对象有四个基本特征:抽象、封装、继承和多态 C.对象的引用变量只是存放了对象的地址 D.静态成员方法

6、可以调用实例成员方法 13.关于类和成员的访问权限,下列说法正确的是_C_ A.类A能继承类B的前提是A和B必须在同一个包中 B.子类不能继承位于不同包中的父类的protected成员 C.子类不能继承位于同一包中的父类的private成员 D.子类可以继承位于不同包中的父类的无修饰成员 14.下列关于继承的哪项叙述是正确_B_A.在 java 中允许多继承 B.java 的单一继承使代码更可靠 C.在 java 中一个类不能同时继承一个类和实现一个接口 D.在 java中一个类只能实现一个接口 15.下列关于父类和子类构造方法,不正确的是_C_ A.子类不能继承父类的构造方法 B.子类构造方

7、法可以调用父类构造方法 C.子类构造方法的第一条语句必须通过super显式调用父类构造方法 D.子类构造方法的第一条语句也可以通过this调用本类的重载构造方法 16.下列关于方法重载和覆盖的描述,不正确的是_A_ A.可通过返回值类型来区分是否为重载方法 B.方法重载可减少记忆方法名称的难度,使程序清晰易读 C.方法覆盖只能在有继承关系的父子类间 D.方法覆盖必须保持父类方法的返回值、方法名和形参均不变 17.下列不是实现多态必须条件的是_B_ A.继承 B.方法重载 C.方法覆盖 D.父类引用变量可引用子类对象 18.Object是Java中所有类的祖先类,其中用来比较两个对象内容是否相等

8、的方法是_A_ A.equalsB.clone C.compare D.toString 二、判断题(本大题共14小题,每小题1分,共14分,正确选A,错误选B)19.(B)把java源文件编译成class字节码文件的JDK命令是java。20.(A )Java程序中可包含多个源文件,但每个源文件中只有一个public类。21.(A )包含main方法的类叫主类,没有主类程序就无法运行。22.(B)不带标号的continue语句可实现跳出所在的那层循环。23.(A)方法调用表达式方式适合于有返回值的方法的调用,在调用时实参与形参在 次序、类型和数量上要匹配。24.(B)方法覆盖和方法重载都是要

9、求方法同名,因此没有本质区别。25.(A)静态成员方法与对象无关,所以不会访问实例数据域。26.(B)访问权限最大的是public成员,最小的是protected成员。27.(A)this是当前对象的引用,大多数情况下可隐去,但有时需要显式使用。28.(B)抽象类不能定义对象引用变量,也不能创建对象。29.(B)抽象类的子类一定是具体类,但实现接口的类不一定是具体类。30.(A)包可以解决命名冲突,不同包中可以包含同名的类。31.(B)在Java源文件中,把自己的类装入某个包中所使用的关键字是import,把库中 的类导入到源文件的关键字是package。32.(A)this可用来调用本类的重

10、载方法,super可用来调用父类的覆盖方法。得分 得分 1.5CM 三、程序阅读题(本大题共4小题,每小题5分,共20分)说明:阅读下面的程序,并写出程序的运行结果。1.public class Test public static void main(String args)int a=36,21,50,78,19,89,74,33,46,68;int m=a0,n=0;for(int i=1;i10;i+)if(m ai)m=ai;n=i;System.out.printf(“m=%d,n=%dn”,m,n);解答:m=89,n=5 2.public class Stat public s

11、tatic void main(String args)int n=0;String s=”The 30th Olympic games is held in Londonlast summer.”;for(int i=0;is.length();i+)if(s.charAt(i)=m)n+;System.out.println(n);解答:4 3.class Person public Person()System.out.println(“Person()”);class Teacher extendsPerson public Teacher()this(“Teacher(String)

12、”);System.out.println(“Teacher()”);public Teacher(String s)System.out.println(s);public class Faculty extends Teacher public Faculty()System.out.println(Faculty();public static void main(String args)Faculty fa=new Faculty();解答:Person()Teacher(String)Teacher();Faculty()4.public abstract class Animal

13、public abstract void sound();class Dog extends Animal public void sound()System.out.println(“Woof woof”);class Cat extends Animal public void sound()System.out.println(“Miiaooww”);class PetCat extends Cat public void sound()System.out.println(“Miaomiao”);public class Test public static void main(Str

14、ing args)Animal a=new Dog(),new Cat(),new PetCat();for(int i=0;ia.length;i+)ai.sound();解答:Woof woof Miiaooww Miaomiao 四、编写程序题(本大题共3小题,共30分)1.编写程序.求出 2200 间所有素数之和并输出。(9 分)public class SumPrime public static void main(String args)int sum=0;for(int i=2;i=100;i+)if(isPrime(i)sum=sum+i;System.out.println

15、(sum);static boolean isPrime(int i)boolean result=true;得分 1.5CM int x=(int)Math.sqrt(i);for(int j=2;j=x;j+)if(i%j=0)result=false;break return result;2.编写程序.如下给定一个 3 行 4 列的三位整数数表(即每个元素为 int 型三位十进制整数),找出这 12 个三位数中,数字之和最大的那个数及其所在的行和列并输出(数字之和的含义:如第 0 行第 0 列的 259 这个数,其数字之和就是 2+5+9=16)。(10 分)259 132799113

16、 332262 209863 807301684 343 public class MaxDigit public static void main(String args)int num=0,indexI=0,indexJ=0,x=0;int a=259,132,799,113,332,262,209,863,807,301,684,343;for(int i=0;i3;i+)for(int j=0;j4;j+)x=calcuSum(aij);if(numx)num=x;indexI=i;indexJ=j;System.out.println(最大的数:+num+n 所在行:+indexI+

17、n 所在列:+indexJ);static int calcuSum(int x)int sum=0,y=0;for(int i=0;i3;i+)y=x%10;x=x/10;sum=sum+y;return sum;3.定义一个类来描述公司雇员,类命名为 Employee,具体要求如下:(11 分)(1)数据域:id 表示工号,类型为 int;name 表示姓名,类型为 String;salary 表示工资,类型为 double。(2)构造方法:默认构造一个 Emplyee 对象时,id/name/salary 默认值分别为 0/”/0.0;也可以在构 造 Employee 对象时通过参数指定

18、数据域初始值。(3)定义各数据域对应的访问器和修改器。(4)对象描述器,设对象的输出形式为:工号:XXX,姓名:XXX,工资:XXX。(5)定义一个按雇员工资定级别的方法:int level(),返回值为级别数,具体要求为:salary5000,3 级 5000salary8000,2 级 salary8000,1 级 public class Employee1 /id 表示工号,类型为 int;name 表示姓名,类型为 String;salary 表示工资,类型为double。private int id;private String name;private double salary

19、;/*默认构造一个 Emplyee 对象时,id/name/salary 默认值分别为 0/”/0.0;也可以在构 造 Employee 对象时通过参数指定数据域初始值。*/public Employee1()this(0,0.0);public Employee1(int id,String name,double salary)this.id=id;this.name=name;this.salary=salary;/(3)完成各数据域的封装。int getID()return id;String getName()return name;double getSalary()return

20、salary;void setID(int id)this.id=id;void setName(String name)this.name=name;void setSalary(double salary)this.salary=salary;/(4)对象描述器,设对象的输出形式为:工号:XXX,姓名:XXX,工资:XXX。Override public String toString()return 工号:+id+姓名:+name+工资:+salary;public int level()int level;if(salary 5000)level=3;else if(salary 8000)level=2;else level=1;return level;

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 应用文书 > 解决方案

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

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com