程序员中级训练补考
一、选择题(本题10小题,每题2分,共20分,将答案写到答题卡文档中) 1、Java源程序必须以_____ 作为其扩展名。 A、java B、exe C、class D、html
2、下面________能正确表示Java语言中的一个整数常量。 A、-8.0 B、1000,000 C、-30 D、”456”
3、表达式48%9+5*5-4 的运算结果是_______。 A、24 B、26 C、-30 D、46
4、表达式9-7<0 || 11>8 的结果是______。 A、true B、false C、1 D、0
5、表达式(3>2)?8:9 的结果是_________。 A、3 B、2 C、8 D、9
6、下列语句序列执行后,c的值是______。
int a =10,b=18,c=30; switch (b-a) { case 8:c++; case 9:c+=2; case 10:c+=3; default:c/=b; }
A、31 B、32 C、2 D、33
7、在一个应用程序中定义了数组 a: int [] a = {1,2,3,4,5,6,7,8,9,10};,为了打印输出数组a的最后一个数组元素,下面正确的代码是____________。
A、System.out.println(a[10]); B、System.out.println(a[9]);
C、System.out.println(a[8]); D、System.out.println(a[a.length]);
8、类 Student 是 Person 的子类,Student的构造方法中有一句“super()”,该语句的含义是________。
A、调用类Object 中定义的super()方法 B、调用类Person 中定义的super()方法 C、调用类Person的构造方法 D、语法错误
9、对于以下程序,说法正确的是_____________。 try{
return;
}catch(Exception e){}
finally{
System.out.println(\); }
A、finally 语句不会执行
B、finally 语句会执行,在return语句执行之前 C、finally 语句会执行,在return语句执行之后 D、程序没有任何输出结果
10、从一个FileInputStream流中用read()方法读取数据时,表示流结束,则该方法返回______。
A、-1 B、0 C、255 D、65535
二、填空题(本大题共2小题,每空3分,共24分将答案写到答题卡文档中)
1、下面为一个Java应用程序,实现功能如下:通过对于整型变量x的赋值,调用Math类中的方法求x的2次方并输出。 publicclassSquare{
publicstaticvoid main(String[] args) { int x = 2; ___(1)___;
str = __(2)___ + \的2次方=\ + (__(3)____); System.out.println(str); } }
2、下面程序中有二个类,超类FatherClass和子类ChildClass,子类中的方法覆盖了超类中的同名方法。程序正常运行结果如图所示,请将程序补充完整。
publicclassFatherClass {
publicstaticvoid main(_____ (1)_____ args){ }
intcalc(inta,int b){
int y;
FatherClassabc=newFatherClass(); y=abc.calc(1,2);
System.out.println(\+y); ChildClass xyz=______ (2)______; y=xyz.calc(1,2);
System.out.println(\+y);
}
____ (3)_____ s; s=a+b; return s;
}
classChildClass ______(4)_____ FatherClass{ intcalc(inta,int b){ }
int s;
s=a ___(5)__ b; return s;
}
三、程序调试题(本大题3小题,共7个错误,每改正一个3分,共21分)
1.从\素材\目录中取出LoopEx.java文件,该程序有三个错误。正确的程序运行时应输出如下的结果:
0 1 1 2 2 2 3 3 3 3 4 4 4 4 4
按题中的要求调试修改该程序,并将结果(包括源文件、字节码文件)保存到KS目录中。请务必在所修改的语句后加上注释语句://*****。 LoopEx.java:
public class LoopEx {
public void main(String[] args) { int size = 5;
for (inti=0: i
2.从\素材\目录中取出Exchange.java文件,该程序在if语句中有两个错误。程序的功能是:当键盘输入一个小于\的数字字符串(例如\),程序将其转换成汉字表达方式并输出(\伍拾陆\)。
请按题中的要求调试修改该程序,并将结果(包括源文件、字节码文件)保存到KS目录中。请务必在所修改的语句后加上注释语句://*****。 Exchange.java: import java.io.* ;
public class Exchange{
public static void main(String args[]) throws IOException { String hz_table[]={\零\壹\贰\叁\肆\伍\陆\柒\捌\玖\
intnum,g,s; //g:代表个位,s代表十位
Scannersc = new Scanner();
System.out.print(\请输入整数:\num=sc.nextInt(); if (num>=2)
System.out.print(\输入的数已超出范围\else{
if(num>=10){
s=num; g=num;
System.out.println(\你输入的数字是:\
+hz_table[s]+\拾\ } else {
g=num;
System.out.println(\你输入的数字是:\ } } } }
3.从\素材\目录中取出Complex_ex.java文件,该程序在Complex类声明代码模块中有两个个错。运行正确程序应产生如图所示的结果。(该图示是用Eclipse运行的显示效果,仅作参考)。 请按题中的要求调试修改该程序,并将结果(包括源文件、字节码文件)保存到KS目录中。请务必在所修改的语句后加上注释语句: //*****。
Complex_ex.java:
importjava.applet.* ; importjava.awt.* ;
public class Complex_ex extends Applet { Complex x,y ;
public void init( ) { int a = 7; int b = 2;
x = new Complex(a,b);
y = new Complex(a+3,b+4); }
public void paint(Graphics g) {
g.drawString(\第一个复数:\g.drawString(\第二个复数:\ } }
class Complex{
intRealPart ; // 复数的实部 intImaginPart ; // 复数的虚部
Complex(int r , inti) { r = RealPart; ImaginPart = i; }
public String toString {
returnRealPart+\i\ } }
四、编程题(本题2小题,第1题15分,第2题20分,共35分)
1.从\素材\目录中取出CalArray.java文件,在该文件基础上进行补充,完成dialCalc方法的编写。该方法实现对任意行列数相等二维数组计算主对角线上元素之和的功能。主对角线定义如下图1所示,主对角线线段所连的数据构成主对角线上的元素。程序运行结果如下图2所示。
主对角线
程序完成后将程序编辑及运行所需要的所有文件(包括源程序文件、字节码文件)存放到KS目录下。
图1 图 2 CalArray.java:
publicclassCalArray {
publicstaticvoid main(String[] args) {
int[][] arrays = {{9,8,7,5}, {6,4,5,3}, {8,2,1,5},{7,4,1,2}}; int answer = dialCalc(arrays); for (inti=0;i
for (int j=0;j
System.out.print(arrays[i][j]+\); System.out.println();
}
System.out.println(\主对角线的元素之和为:\+answer ); }
//在此处完成对应方法
}
2、从\素材\目录中取出Test1234.java文件,在该文件基础上进行补充,完成printNum方法的编写。该方法实现求1234 四个数字能组合成多少个不同的三位数,程序运行结果如下图3所示。
图3
程序完成后将程序编辑及运行所需要的所有文件(包括源程序文件、字节码文件)存放到同目录的KS目录下 publicclass Test1234 { publicstaticvoid main(String[] args) { System.out.println(\四个数字能组合成的不同的三位数是:\); printNum(); }
//在此处完成对应方法
}