"华南资讯杯"错题集

1、代码片段:
System.out.format("Pi is approximately %d.", Math.PI);
请问执行的结果是什么?
0/ 3
A. 编译出错
B. Pi is approximately 3.
C. Pi is approximately 3.141593.
D. 运行时抛出异常
参考答案:D

你的答案:B
会抛出:java.util.IllegalFormatConversionException: d != java.lang.Double 异常。

2、如下代码:
public class Test {
  private int a;
  public int b;
  protected int c;
  int d;
  public static void main(String[] args) {
    Test test = new Test();
    int a = test.a++;
    int b = test.b--;
    int c = test.c++;
    int d = test.d--;
    System.out.println(a + " - " + b + " - " + c + " - " + d);
  }
}
请问哪个说法是正确的?
0/ 3
A. 编译错误,因为变量a、b、c和d没有被初始化
B. 编译错误,因为变量a无法被访问
C. 编译成功并输出0 - 0 - 0 - 0
D. 编译成功并输出1 - -1 - 1 - -1
参考答案:C
你的答案:D (这题太大意了,低级错误)

3、代码片段:
package certkiller;
class Target {
  public String name = "hello";
}
哪些类能够直接访问并且改变name这个变量的值。
0/ 3
A. 任意类
B. 只有Target这个类
C. certkiller包下的类
D. Target的子类
参考答案:C
你的答案:A   (留意Target不是public的)

4、代码片段:
1. public class Person {
2.   private String name;
3.   public Person(String name) { this.name = name; }
4.   public boolean equals(Person p) {
5.     return p.name.equals(this.name);
6.   }
7. }
哪个选项的描述是正确的?
0/ 3
A. equals方法没有正确覆盖Object类中的equals方法。
B. 编译这段代码会出错,因为第5行的私有属性p.name访问不到。
C. 如果要与基于哈希的数据结构一起正常地工作,只需要在这个类中再实现hashCode方法即可。
D. 当添加一组Person对象到类型为java.util.Set的集合时, 第4行中equals方法能够避免重复。
参考答案:A
你的答案:B (因为在Person类里面,所以可以访问name属性,Object类的的equals方法是public boolean equals(Object obj) )

5、代码片段:
import java.util.*;
public class Example {
  public static void main(String[] args) {
    // 在这里插入代码
    set.add(new Integer(2));
    set.add(new Integer(1));
    System.out.println(set);
  }
}
插入哪个选项时的代码能够使程序输出[1, 2]?
0/ 3
A. <code lang="java"> Set set = new TreeSet(); </code>
B. <code lang="java"> Set set = new HashSet(); </code>
C. <code lang="java"> Set set = new SortedSet(); </code>
D. <code lang="java"> List set = new SortedList(); </code>
E. <code lang="java"> Set set = new LinkedHashSet(); </code>
参考答案:A
你的答案:C (SortedSet是一个接口来的。。。= =!)

"华南资讯杯"错题集

6代码片段:

class Sudo {
  static void telnet() { /* 这里是省略的代码 */ }
  void ssh() { /* 这里是省略的代码 */ }
}
请问哪些选项的描述是正确的?
0/ 5
A. Sudo.ssh()能够正确调用ssh()方法
B. Sudo.telnet()能够正确调用telnet()
C. 在ssh()方法里面,能够直接调用telnet()
D. 在telnet()方法里面,能够直接调用ssh()
参考答案:BC
你的答案:A,C    (看选项不认真啊)

7、代码片段:
public abstract interface Sudo {
  public void crazy(String s);
}
请问以下哪些选项中的类定义是正确的?

A.  public abstract class MySudo implements Sudo { public abstract void crazy(String s) { } } 
B.  public abstract class YourSudo implements Sudo { } 
C.  public class HerSudo implements Sudo { public void crazy(String i) { } public void crazy(Integer s) { } } 
D.  public class HisSudo implements Sudo { public void crazy(Integer i) { } } 
E.  public class ItsSudo extends Sudo { public void crazy(Integer i) { } } 

参考答案:BC
你的答案:C   (注意抽象类实现接口)

8、代码片段:
void waitForSignal() {
  Object obj = new Object();
  synchronized (Thread.currentThread()) {
    obj.wait();
    obj.notify();
  }
}
以下哪一个描述是正确的?
0/ 3
A. 需要处理InterruptedException。
B. 代码能编译但可能运行时抛出IllegalStateExcepion。
C. 运行10分钟后代码抛出TimeOutException。
D. 需要把obj.wait()替换为((Thread) obj).wait()后代码才能通过编译。
E. 把obj.wait()和obj.notify()这两句调换一下位置,能使代码执行。
参考答案:A
你的答案:B (InterruptedException这个异常是线程被中断时抛出的)wait()的定义:public final void wait() throws InterruptedException

9代码片段:
import java.io.*;
public class Forest implements Serializable {
  private Tree tree = new Tree();
  public static void main(String[] args) {
    Forest f = new Forest();
    try {
      FileOutputStream fs = new FileOutputStream("Forest.Ser");
      ObjectOutputStream os = new ObjectOutputStream(fs);
      os.writeObject(f);
      os.close();
    } catch(Exception ex) {
      ex.printStackTrace();
    }
  }
}
class Tree {}
哪一项的描述是正确的?
0/ 3
A. 编译出错
B. 运行时抛出异常
C. 一个Forest的实例被序列化了
D. 一个Forest的实例和一个Tree的实例都被序列化了
参考答案:B
你的答案:A (要写入一个非序列化对象,会抛出java.io.NotSerializableException异常)

10、代码片段:
// 这里省略了DateFormat对象df的初始化
12. Date date = new Date();
13. df.setLocale(Locale.Ialy);
14. String s = df.Format(date);
 
如果这段代码在2000年12月14日运行,请问以下描述哪个是正确的? 0/ 5
A. 字符串s的值是14-dec-2004
B. 字条串s的值是Dec 14, 2000
C. 运行时抛出异常
D. 第13行编译出错
参考答案:D
你的答案:B (Locale.Ialy Ialy要大写。。。感觉好坑)

11、对于java.io.BufferedWriter和java.io.FileWriter这两个类,下面哪一个功能只有其中的一个类直接提供了方法支持? 0/ 5
A. 关闭流
B. 冲刷流的缓冲
C. 往流里写数据
D. 在流里标记一个位置
E. 往流里写入一个行分隔符
参考答案:E
你的答案:D (BufferedWriter提供一个newLine方法往流里写入一个行分隔符)

12哪个选项里的代码能正确创建和初始化一个int数组? 0/ 3

A. int[] a = {1, 2};
B. int[] a; a = new int[2]; a[0] = 1; a[1] = 2;
C. int[] a = new int[2]{1, 2};
D. int[] a = new int[]{1, 2};
参考答案:ABD
你的答案:A,B,C (简单题,这题错不应该啊。。)

13、which two statements declare an array capable of 10 int?
0/ 3
A. int[] foo;
B. int foo[];
C. int foo[10];
D. Object[] foo;
E. Object foo[10];
参考答案:AB
你的答案:C,E (傻了。。。java没有C、E这样的定义)



你可能感兴趣的:("华南资讯杯"错题集)