当前位置:
文档之家› JAVA程序面试笔试期末考试试题
JAVA程序面试笔试期末考试试题
[Java 代码]
class Body{
//此处代码省略 }; //车身类
class Passenger{ //此处代码省略 }; //乘客类
class Wheel{
//此处代码省略 }; //车轮类
class Driver{ //司机类 public String name; //表示第几路公交车司机 public Driver(String driverName){name = driverName;} //构造函数
① sh 和 tr 分别引用同一个对象;
② sh 和 tr 分别引用同一类型的不同的对象;
③ sh 和 tr 分别引用不同类型的不同对象;
④ sh 和 tr 分别引用同一个对象的不同拷贝;
⑤ sh 和 tr 所引用的内存空间是相同的。
[问题 2] 写出下面消息对应的方法编号(如果该消息错误或者没有对应的方法调用,请填写
Driver driver = new Driver("第五路公交车司机");
Car car = new Car( (4) ); for (int index = 0 ; index < MAX_PASSENGERS; index ++)
car.getOnPassenger( (5) Passenger()); car.run(); } }
static final int MAX_WHEELS = 5;
//定义最多轮胎数
protected Engine engine; protected Driver driver; protected Body body = new Body(); protected Wheel[] wheels; protected Passenger[] passengers; public Car(Driver driver){ //构造函数
removeElementAt(i)
删除序号为 i 的元素(vector 元素序号从 0 开始)
isEmpty()
判断 vector 对象是否含有元素
}
void getOnPassenger(Passenger aPassenger ){ //乘客上车
//此处代码省略
} void run(){ //开车
if( (3) ){ System.out.println("司机尚未上车!"); return;}
//此处代码省略
} public static void main(String args[]){
wheels[index] = new Wheel(); } for (int index = 0; index < MAX_PASSENGERS; index++){
passengers[index] = null; } }
int getPassengerNumber(){ //获取车上乘客数量
//此处代码省略
04
share_val = 0.0){getData();}
07 public Stock(int n, int pr=0){
08
shares = n;
09
share_val = pr;
10
getData();
11
}
12 public void getData(){
14 行前共有四行出现了错误,将下面代码修改正确并完善后的输出结果为: 0:0 1:23 [ 问题 1]
请指出错误所在行号并给出该行修改后的完整结果。
[ 问题 2]
请补齐第 21 行代码中的空缺。
[Java 代码 ]
01 public class Stock{
02 static {
03
shares = 0;
} } public class HeadDecorator extends Decorator{
public HeadDecorator(SalesTicket t) { (1) ;
} public void printTicket()
{ System.out.println("这是票据的台头!"); super.printTicket(); } } public class FootDecorator extends Decorator{ public FootDecorator(SalesTicket t) {
27
}
28 }
试题八(共 15 分)
阅读以下说明和 Java 程序代码,将应填入 (n) 处的字句写在答题纸的对应栏内。
[说明]
在下面的 Java 程序代码中,类 SalesTicket 能够完成打印票据正文的功能,
类 HeadDecorator 与 FootDecorator 分别完成打印票据的台头和脚注的功能。
(2) ; } public void printTicket()
{ super.printTicket(); System.out.println(" 这是票据的脚注!"); } } public class Main { public static void main(String[] args) { T = new HeadDecorator( (3) ); T.
(4) ; System.out.println("------------------------"); T = new FootDecorator( (5) ); T.printTicket(); } } 试题八 (共 15 分) 阅读以下说明和 Java 代码,请回答问题 1 和问题 2,将解答写在答题纸的对应栏内。 [ 说明 ] 已知类 Stock 和类 cxyjava 都定义在 cxyjava.java 文件中,类 Stock 的定义中第
(2) .driver = driver;
engine = new Engine("TX6536 型号引擎");
wheels = new Wheel[MAX_WHEELS]; passengers = new Passenger[MAX_PASSENGERS]; for (int index = 0; index < MAX_WHEELS; index++){
10
public SuperClass() {i = 5;}
11
public int getValue(){
12
return i;
13
}
14
public final abstract int getSum();
15 }
16 class SubClass extends SuperClass{
17
int j;
已知该程序运行后的输出结果如下所示,请填补该程序代码中的空缺。
这是票据的台头!
这是票据正文! 这
是票据的脚注!
------------------------
这是票据的台头!
这是票据的脚注!
[Java 程序代码] public class SalesTicket {
public void printTicket() { System.out.println("这是票据正文!");
21
Stock a = (1) ;
22
Stock b = new Stock(1,23);
23
//其它无输出代码省略
24 }
25 }
试题七(共 15 分)
阅读下列说明、图和 Java 代码,回答问题 1 至问题 3,将解答写在答题纸的对应栏内。
[说明]
已知四个类之间的关系如图 7-1 所示,分别对每个类的方法进行编号,例如 Shape 的
03
SuperClass s = new SubClass();
04
System.out.println(s.getValue());
05
System.out.println(s.getSum());
06
}
07 }
08 abstract class SuperClass{
09
private int i;
18
public SubClass(){
19
this(-3);
20
}
21
public SubClass(int j){
22
(1) .j = j;
23
}
24
public int getValue(){return j;}
25
public int getSum(){
26
return (2) .getValue() + j;
试题七(共 15 分) 阅读下列说明、图和 Java 代码,将应填入 (n) 处的字句写在答题纸的对应栏内。
[说明]
已知对某载客车辆(Car)进行类建模,如图 7-1 所示,其中类 Engine 表示发动机引擎,
类 Wheel 表示车轮,类 Body 表示车身,类 Driver 表示司机,类 Passenger 表示乘客。
“无”)。
tr.height()
(1)
sh.perimeter()
(2)
sq.height()
(3)
sq.perimeter()
(4)
sh.height()
(5)
tr.perimeter()
(6)
[问题 3] 下列赋值语句中哪两个是合法的(写出合法赋值语句的编号)。
① sq = sh; ② sh = tr; ③ tr = sq; ④ sq = tr; ⑤ sh = sq;
} } public class Decorator extends SalesTicket{