“图行天下”的java面试题,请高手帮忙,求解。
SCJP模拟试题一
--------------------------------------------------------------------------------
此套试题由60道题组成(实际考试为60道题)。
试题由单选题和多选题组成,单选题将提示:Select the one right answer.,多选题将提示:Select all valid answers.。
实际考试70%为通过,因此您必须在此套模拟试题中答对42题。
--------------------------------------------------------------------------------
Question 1: Given the following class definition:
class A {
protected int i;
A(int i) {
this.i = i;
}
}
Which of the following would be a valid inner class for this class?
Select all valid answers.
a)
class B {
}
b)
class B extends A {
}
c)
class B {
B() {
System.out.println("i = " + i);
}
}
d)
class B {
class A {
}
}
e)
class A {
}
answer
--------------------------------------------------------------------------------
Question 2: What statements are true concerning the method notify() that is used in conjunction with wait()?
Select all valid answers.
a) if there is more than one thread waiting on a condition, only the thread that has been waiting the longest is notified
b) if there is more than one thread waiting on a condition,there is no way to predict which thread will be notifed
c) notify() is defined in the Thread class
d) it is not strictly necessary to own the lock for the object you invoke notify() for
e) notify() should only be invoked from within a while loop
answer
--------------------------------------------------------------------------------
Question 3: Given the following class:
class Counter {
public int startHere = 1;
public int endHere = 100;
public static void main(String[] args) {
new Counter().go();
}
void go() {
// A
Thread t = new Thread(a);
t.start();
}
}
What block of code can you replace at line A above so that this program will count from startHere to endHere?
Select all valid answers.
a)
Runnable a = new Runnable() {
public void run() {
for (int i = startHere; i <= endHere; i++) {
System.out.println(i);
}
}
};
b)
a implements Runnable {
public void run() {
for (int i = startHere; i <= endHere; i++) {
System.out.println(i);
}
}
};
c)
Thread a = new Thread() {
public void run() {
for (int i = startHere; i <= endHere; i++) {
System.out.println(i);
}
}
};
answer
--------------------------------------------------------------------------------
Question 4: What is written to the standard output given the following statement:
System.out.println(4 | 7);
Select the one right answer.
a) 4
b) 5
c) 6
d) 7
e) 0
answer
--------------------------------------------------------------------------------
Question 5: Given the following class:
class Counter {
public static void main(String[] args) {
Thread t = new Thread(new CounterBehavior());
t.start();
}
}
Which of the following is a valid definition of CounterBehavior that would make Counter’s main() method count from 1 to 100, counting once per second?
Select the one right answer.
a)This class is an inner class to Counter:
class CounterBehavior {
for (int i = 1; i <= 100; i++);
try {
System.out.println(i);
Thread.sleep(1000);
} catch (InterruptedException x) {}
}
}
b) This class is an inner class to Counter:
class CounterBehavior implements Runnable {
public void run() {
for (int i = 1; i <= 100; i++);
try {
System.out.println(i);
Thread.sleep(1000);
} catch (InterruptedException x) {}
}
}
}
c) This class is a top-level class:
static class CounterBehavior implements Runnable {
public void run() {
try {
for (int i = 1; i <= 100; i++) {
System.out.println(i);
Thread.sleep(1000);
}
} catch (InterruptedException x) {}
}
}
answer
--------------------------------------------------------------------------------
Question 6: Given the following class definition:
class A {
public int x;
private int y;
class B {
protected void method1() {
}
class C {
private void method2() {
}
}
}
}
class D extends A {
public float z;
}
What can method2() access directly, without a reference to another instance?
Select all valid answers.
a) the variable x defined in A
b) the variable y defined in A
c) method1 defined in B
d) the variable z defined in D
answer
--------------------------------------------------------------------------------
Question 7: You have an 8-bit file using the character set defined by ISO 8859-8. You are writing an application to display this file in a TextArea. The local encoding is already set to 8859-8. How can you write a chunk of code to read the first line from this file?
You have three variables accessible to you:
myfile is the name of the file you want to read
stream is an InputStream object associated with this file
s is a String object
Select all valid answers.
a)
InputStreamReader reader = new InputStreamReader(stream, "8859-8");
BufferedReader buffer = new BufferedReader(reader);
s = buffer.readLine();
b)
InputStreamReader reader = new InputStreamReader(stream);
BufferedReader buffer = new BufferedReader(reader);
s = buffer.readLine();
c)
InputStreamReader reader = new InputStreamReader(myfile, "8859-8");
BufferedReader buffer = new BufferedReader(reader);
s = buffer.readLine();
d)
InputStreamReader reader = new InputStreamReader(myfile);
BufferedReader buffer = new BufferedReader(reader);
s = buffer.readLine();
e)
FileReader reader = new FileReader(myfile);
BufferedReader buffer = new BufferedReader(reader);
s = buffer.readLine();
answer
--------------------------------------------------------------------------------
Question 8: How can you write a line of code for an applet’s init() method that determines how wide the applet is?
Select all valid answers.
a) int width = this.getY();
b) int width = this.getSize().w;
c) int width = getSize();
d) int width = getSize().w;
e) int width = getWidth();
answer
--------------------------------------------------------------------------------
Question 9: For a variable width font, how "wide" is a TextField created using the expression:
new TextField(20)
Select the one right answer.
a) 20 times the average of all the characters in the font used for this TextField object
b) 20 times the width of the letter M
c) 20 times the width of the letter a
d) 20 inches
e) 20 picas
answer
--------------------------------------------------------------------------------
Question 10: Given this interface definition:
interface A {
int method1(int i);
int method2(int j);
}
which of the following classes implement this interface and is not abstract?
Select all valid answers.
a)
class B implements A {
int method1() { }
int method2() { }
}
b)
class B {
int method1(int i) { }
int method2(int j) { }
}
c)
class B implements A {
int method1(int i) { }
int method2(int j) { }
}
d)
class B extends A {
int method1(int i) { }
int method2(int j) { }
}
e)
class B implements A {
int method2(int j) { }
int method1(int i) { }
}
answer
--------------------------------------------------------------------------------