JAVA程序设计B卷答案
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
5.
在一个应用程序中有如下定义:int a[]={1,2,3,4,5,6,7,8,9,10}; 为了打印输出数组a的最 后一个元素,下面正确的代码是___B_____。 A. System.out.println(a[10]); C. System.out.println(a[a.length]); B. System.out.println(a[9]); D. System.out.println(a(9));
5
装 订 线
for(i=0;i<N;i++) //此 for 循环 4 分 { if (a[i]>=60) count=count+1; sum=sum+a[i]; } ave=sum/N; //计算平均分 1 分 printf(“count=%d,ave=%f”,count,ave); }
//输出 1 分,不局限于这种形式
评阅人
得分 一、单项选择题(本大题共 15 小题,每小题 2 分,共 30 分)
1. Java语言是____D_____。 A. 面向问题的解释型高级编程语言 C. 面向过程的编译型高级编程语言 2. 下列为合法类名的是___C_____。 A. class 3. B. 123Student C. GraduateStudent D. “类名” B. 面向机器的低级编程语言 D. 面向对象的解释型高级编程语言 线
10. 针对以下类定义,编译时出现语法错误的语句是___C_____。 class Animal { … } class Dog extends Animal { … } class Cat extends Animal { … } A. Animal animal = new Dog(); C. Dog dog = (Dog)new Cat(); B. Cat cat = (Cat)new Animal(); D. Cat cat = new Cat();
8.
下列注释中不是Java语言使用的是___D_____。 A. // 注释 B. /* 注释 */
1
C. /** 注释 */
D. /** 注释 **/
9.
欲构造ArrayList类的一个实例,此类继承了List接口,下列方法正确的是___B_____。 A. ArrayList myList=new Object(); C. ArrayList myList=new List(); B. List myList=new ArrayList(); D. List myList=new List();
java中一个类可同时定义许多同名的方法这些方法的形式参数的个数类型或顺序各不相同传回的值也可以不同
华南农业大学期末考试试卷(B 卷)
2010-2011 学年第 1 学期 考试类型: (闭卷)考试 学号
装 订
考试科目: Java 程序设计 考试时间: 年级专业 二 三 四 总分 120 分钟
姓名 题号 得分 一
6. 7.
设x=2,则表达式(x++)*3的值是_____6______。 声明并创建类MyClass的一个对象,其名称为obj,可通过以下语句实现_____MyClass obj=new MyClass______。 _____对象______是Java程序中基本的结构单位。 在一个类的内部嵌套定义的类称为_____内部类______。
3. 编程定义二维坐标系中的点类(Point) , 要求:
1)点包括横、纵坐标(浮点数类型) ; 2)创建对象时如不指定坐标初值,则横、纵坐标均为 0; 3)以“横坐标,纵坐标”形式输出点; 4)求两点间距离的方法; 5)横、纵坐标都加某个给定的浮点数。 答案: public class Point{ private double x,y; public Point(){ x = 0.0; y = 0.0; } public Point(double x,double y){ this.x = x; this.y = y; } public void show(){ System.out.println(x+","+y); } public double distance(Point p){ return Math.sqrt((p.x-x)*(p.x-x)+(p.y-y)*(p.y-y)); } public void detract(double d){ x = x + d; y = y + d; } }
15. 下列构造方法的调用方式中,正确的是___C_____。 A. 按照一般方法调用 C. 只能通过 new 自动调用 B. 由用户直接调用 D. 被系统调用
得分
2
二、填空题(本大题共 10 小题,每小题 2 分,共 20 分)
1. 2. 3. 4. 5. 装 订 8. 9. 线
1.5CM
定义类的构造方法不能有返回值类型,其名称与___类名______相同。 若有类定义:class B extends A {…},则类B是类A的___子类______。 创建类的对象时,使用运算符_____new______给对象分配内存空间。 表达式(5%2= =0)的值是_____false______。 在循环中使用_____continue______语句,将跳过本轮循环的剩余语句,进入循环的下 一轮。
答案:1 2
2. public class Test{ public static void main(String[] agrs){ int i; int[] a={11,22,33,44,55,66,77,88,99}; for(i=0;i<=a.length/2;i++)
3
System.out.print(a[i]+a[a.length-i-1]+” ”); }
答案:bbbbb
4. class Base{ public Base(){ System.out.println("What a pleasure!"); } public Base(String s){ this(); System.out.println("I am "+s+"!"); } } public class Child extends Base{ public static void main(String args[]){ Child t = new Child("Mike"); } public Child(String s){ super(s); System.out.println("How do you do?"); } public Child(){ this("I am Tom"); } }
6.
定义如下的二维数组b,下面的说法不正确的是___C_____。 A. b.length的值是3 C. b[1][1]的值是5 B. b[1].length的值是5 D. 二维数组b的第一行有3个元素
7.
下列语句中,属于多分支语句的是___B_____。 A. if语句 B. switch语句 C. do while语句 D. for语句
答案:What a pleasure!
I am Mike! How do you do?
4
得分
1.5CM
四、编写程序题(本大题共3小题,每小题10分,共30分)
1. 编写一个程序,显示如图所示的一个数字金字塔: 1 121 12321 1234321 123454321 12345654321 1234567654321 123456787654321 12345678987654321 答案: public class NewClass { public static void main(String[] args){ int i=9; for(int row=1;row<=i;row++){ for(int column=1;column<=(i-row);column++){ System.out.print(' '); } for(int column=1;column<=row;column++){ System.out.print(column); } for(int column=row-1;column>0;column--){ System.out.print(column); } System.out.println(); } } } 2. 编写程序读入 10 个学生的成绩,统计及格学生的个数并计算平均分。 答案: import java.io.* ; public class Score{ public final int N=10; //可不定义常量,程序中直接用 10 public static void main(String[ ] args){ int i, count=0; //数据域 2 分,其中数组定义占 1 分 float sum=0,ave; float[] a = new float[10]; Scanner in =new Scanner(System.in); //输入 2 分 for(i=0;i<N;i++) a[i]=10
3. public class Test{ public static void main(String[] agrs){ A a = new A(“aaaaa”); A.B b=new a.new B(); System.out.println(b.inStr); } } public class A{ private String outStr; public A(String s){ outStr=s; } public calss B{ public String inStr=”bbbbb”; } }
Java中,一个类可同时定义许多同名的方法,这些方法的形式参数的个数、类型或顺 序各不相同,传回的值也可以不同。这种面向对象程序特性称为___C_____。 A. 隐藏 B. 覆盖 C. 重载 D. Java不支持此特性
4.
在Java中,存放字符串常量的对象属于___B_____类对象。 A. Character B. String C. StringBuffer D. Vector
10. 访问特性修饰符protected和_____private______只能用于内部类,不能用于顶层类。
得分 三、程序阅读题(本大题共4小题,每小题5分,共20分) 说明:阅读下面的程序,并写出程序的运行结果。
1. public class Total { public static void main(String[] args){ int y,x=1,total=0; while(x<=10){ y=x*x; System.out.println(y); total+=y; ++x; } System.out.println(total); } }
11. 假设子类A继承了父类B,则如下能正确描述这2个类之间关系的类图是___A_____。 A B
C
D
12. 关于封装,以下说法正确的是___D_____。 A. 一个经过封装的类,其数据域的值不能在类的外部修改 B. 实现的了同一个接口的所有类被封装了在一起 C. 一个经过封装的类,只允许其子类重载其方法,而不允许其子类覆盖其方法 D. 一个经过封装的类,可以使程序员修改其内部代码而不影响类外部的代码 13. 在父类中定义了方法m,则子类中增加___D_____方法是对方法m的覆盖? protected double m() { return 1.23; } A. protect int m() { return 1; } B. private double m() { return 1.23; } C. protected double m(double d) { return 1.23; } D. public double m() { return 1.23; } 14. 下列叙述中,正确的是___A_____。 A. Java语言的标识符是区分大小写的 C. 源文件名其扩展名为.jar B. 源文件名与public类名可以不相同 D. 源文件中public类的数目不限