Java部分(35分)
1、 以下哪项是接口的正确定义?( ) 3分
A、interface X { void fun() { } }
B、abstract interface X{ void fun()}
C、abstract interface X extends A1,A2 { abstract void func(){ };}
D、interface _WB { void __func();}
2、B extends X, C extends B 并且在Java源代码中有如下声明:
1. X a0 = new X();
2. X a1 = new B();
3. X b2 = new C();
问以下哪个说法是正确的? ( ) 4分
A、第1行、第2行和第3行的声明都是正确的
B、第1、2行能通过编译,但第3行编译出错
C、第1、2、3行能通过编译,但第2、3行运行时出错
D、只有第1行能通过编译
3、下面不是合法标识符的是( ) 3分
A. $_wd_
B. _xx_mm__
C. s_m_12x22
D. 2_usa
4、根据输入求funx的输出是( ) 7分
输入 :
char[] source = "abcdefghijklm".toCharArray();
int sourceOffset =1;
int sourceCount = 12;
char[] target = "efghijk".toCharArray();
int targetCount = 6;
函数为:
int funx(char[] source, int sourceOffset, int sourceCount, char[] target, int targetCount) {
if (targetCount == 0) {
return 0;
}
char first = target[0];
int max = sourceOffset + (sourceCount - targetCount);
for (int i = sourceOffset + 0; i <= max; i++) {
if (source[i] != first) {
while (++i <= max && source[i] != first);
}
/* Found first character, now look at the rest of v2 */
if (i <= max) {
int j = i + 1;
int end = j + targetCount - 1;
for (int k = 0 + 1; j < end && source[j]== target[k]; j++, k++);