OCJP 考試題之八

OCJP視頻課堂,具體講解:https://edu.csdn.net/course/detail/7811

QUESTION 139

Giventhe following directory structure: bigProject |--source | |--Utils.java ||--classes |-- And the following command line invocation: javac -d classessource/Utils.java Assume the current directory is bigProject, what is theresult?

A.   If the compile is successful, Utils.class is added to thesource directory.

B.   The compiler returns an invalid flag error.

C.   If the compile is successful, Utils.class is added to theclasses directory.

D.   If the compile is successful, Utils.class is added to thebigProject directory.

Answer: C

Section: (none)

 

 

QUESTION 155

Given:

10. interface Data { public voidload(); }

11. abstract class Info { publicabstract void load(); }

Which class correctly uses the Datainterface and Info class?

A.   public class Employee extendsInfo implements Data { public void load() { /*do something*/ }

}

B.   public class Employeeimplements Info extends Data { public void load() { /*do something*/ }

}

C.   public class Employee extendsInfo implements Data { public void load(){ /*do something*/ }public voidInfo.load(){ /*do something*/ }

}

D.   public class Employeeimplements Info extends Data { public void Data.load(){ /*do something*/}public void load(){ /*do something*/ }

}

E.   public class Employeeimplements Info extends Data { public void load(){ /*do something*/ }publicvoid Info.load(){ /*do something*/ }

}

F.    public class Employee extendsInfo implements Data{public void Data.load() { /*do something*/ }

public void Info.load() { /*do something*/}

}

Answer: A

QUESTION 156 Given:

11. public class Rainbow {

12. public enum MyColor {

13. RED(0xff0000), GREEN(0x00ff00),BLUE(0x0000ff);

14. private final int rgb;

15. MyColor(int rgb) { this.rgb =rgb; }

16. public int getRGB() { returnrgb; }

17. };

18. public static voidmain(String[] args) {

19. // insert code here

20. }

21. }

Which code fragment, inserted at line 19,allows the Rainbow class to compile?

A.   MyColor skyColor = BLUE;

B.   MyColor treeColor =MyColor.GREEN;

C.   if(RED.getRGB() <BLUE.getRGB()) { }

D.   Compilation fails due to othererror(s) in the code.

E.   MyColor purple = newMyColor(0xff00ff);

F.    MyColor purple = MyColor.BLUE +MyColor.RED;

Answer: B枚舉常量不能實例化,只能在定義的時候制定。

Section: (none)

QUESTION 157 Given:

10. class One {

11.         void foo() { }

12. }

13. class Two extends One {

14. //insert method here

15. }

Which three methods, inserted individuallyat line 14, will correctly complete class Two? (Choose three.)

A.   int foo() { /* more code here*/ }

B.   void foo() {/* more code here */ }

C.   public void foo(){ /* more code here */ }

D.   private void foo() { /* morecode here */ }

E.   protectedvoid foo() { /* more code here */ }

Answer: BCE

8pt;mso-list:l1 level1 lfo2'>B.   MyColor treeColor =MyColor.GREEN;

C.   if(RED.getRGB() <BLUE.getRGB()) { }

D.   Compilation fails due to othererror(s) in the code.

E.   MyColor purple = newMyColor(0xff00ff);

F.    MyColor purple = MyColor.BLUE +MyColor.RED;

Answer: B

Section: (none)

 

Click the Exhibit button.


Which statement is true about the classes and interfaces in the exhibit?
A. Compilation will succeed for all classes and interfaces.
B. Compilation of class C will fail because of an error in line 2.
C. Compilation of class C will fail because of an error in line 6.
D. Compilation of class AImpl will fail because of an error in line 2.
Answer: C
考察多態性的動態綁定,如果方法的簽名相同,則返回類型應該與超類的相同或是超類中返回類型的子類型。上題中C類中有方法Object execute() 以及 String execute(),Object不是Strng類型的子類型,所以錯誤。








 

 

QUESTION 159 Given:

11. public interface A { public void m1();}

12.

13. class B implements A { }

14. class C implements A { publicvoid m1() { } }

15. class Dimplements A { public void m1(int x) { } }

16. abstract class E implements A {}

17. abstract class F implements A {public void m1() { } }

18. abstractclass G implements A { public void m1(int x) { } }

What is the result?

A.   Compilation succeeds.

B.    Exactly one class does NOT compile.

C.   Exactly two classes do NOTcompile.

D.   Exactly four classes do NOTcompile.

E.   Exactly three classes do NOTcompile.

Answer: C

B類沒有實現接口A,C類無錯,D類沒有實現函數void m1();~~abstract抽象類可以不去實現接口

 

QUESTION 160 Given:

1. class Alligator {

2. public static voidmain(String[] args) {

3. int []x[] = {{1,2}, {3,4,5},{6,7,8,9}};

4. int [][]y = x;

5. System.out.println(y[2][1]);

6. }

7. }

What is the result?

A. 2 B. 3 C. 4 D. 6 E. 7

F. Compilation fails.

Answer: E

Click the Exhibit button.

1. public class GoTest {

2. public static void main(String[] args) {

3. Sente a = new Sente(); a.Go();

4. Goban b = new Goban(); b.go();

5. Stone c = new Stone(); c.go();

6. }

7. }

8.

9. class Sente implements Go {

10. public void go() { System.out.println(”go in Sente.”); }

11. }

12.

13. class Goban extends Sente {

14. public void go() { System.out.println(”go in Goban”); }

15. }

16.

17. class Stone extends Goban implements Go { }

18.

19. interface Go { public void go(); }

What is the result?

A. go in Goban

go in Sente

go in Sente

B. go in Sente

go in Sente

go in Goban

C. go in Sente

go in Goban

go in Goban

D. go in Goban

go in Goban

go in Sente

E. Compilation fails because of an error in line 17.

Answer: C

QUESTION 162 Given:

12. NumberFormat nf =NumberFormat.getInstance();

13. nf.setMaximumFractionDigits(4);

14. nf.setMinimumFractionDigits(2);

15. String a =nf.format(3.1415926);

16. String b = nf.format(2);

Which two statements are true about theresult if the default locale is Locale.US? (Choose two.)

A.   The value of b is 2.

B.   The value of a is 3.14.

C.   The value ofb is 2.00.

D.   The value of a is 3.141.

E.   The value of a is 3.1415.

F.    F. The valueof a is 3.1416.

G. The value of b is 2.0000.

Answer: CF

 

 

 

setMaximumFractionDigits是設置小數點後的數字的最max個數~~

setMinimumFractionDigits是設置小數點後的數字的最min個數~~

setMinimumIntegerDigits是設置小數點前的數字的最min個數~~

QUESTION 163 Given:

11. String test ="a1b2c3";

12. String[] tokens =test.split("\\d");

13. for(String s: tokens)System.out.print(s + " ");

What is the result?

A.   a b c

B.   1 2 3

C.   a1b2c3

D.   a1 b2 c3

E.   Compilation fails.

F.    The code runs with no output.

G.   An exception is thrown atruntime.

Answer: A

.

d代表digital數字~~ 表示以數字進行拆分

 

QUESTION 164 Given:

11. class Converter {

12. public static voidmain(String[] args) {

13. Integer i = args[0];

14. int j = 12;

15. System.out.println("It is" + (j==i) + " that j==i.");

16. }

17. }

What is the result when the programmerattempts to compile the code and run it with the command java Converter 12?

A.   It is true that j==i.

B.   It is false that j==i.

C.   An exception is thrown atruntime.

D.   Compilation fails because of anerror in line 13.

Answer: D

 

Integer i = args[0];,無法將String類型的對象付給Integer,應該是13. Integer i = Integer.parseInt( args[0]);

 

 

QUESTION 165 Given:

1.     public class BuildStuff {

2.     public static voidmain(String[] args) {

3.     Boolean test = newBoolean(true);

4.     Integer x = 343;

5.     Integer y = newBuildStuff().go(test, x);

6.     System.out.println(y);

7.     }

8.     int go(Boolean b, int i) {

9.     if(b) return (i/7);

10. return (i/49);

11. }

12. }

What is the result?

A.   7

B.   49

C.   343

D.   Compilation fails.

E.   An exception is thrown atruntime.

Answer: B      b爲true,執行第九行,343/7 是 49~~

QUESTION 166 Given:

12. String csv ="Sue,5,true,3";

13. Scanner scanner = new Scanner(csv );

14. scanner.useDelimiter(",");

15. int age = scanner.nextInt();

What is the result?

A.   Compilation fails.

B.   After line 15, the value of ageis 5.C. After line 15, the value of age is 3.

D. An exception is thrown at runtime.

Answer: D

下一個讀取的是sue,String類型;

String csv="sue,5,true,3";

 

Scanner scanner=new Scanner(csv);	scanner.useDelimiter(",");	String s=scanner.next();	System.out.println(s);

QUESTION 167
Given:
1. import java.util.*;
2. public class WrappedString {
3. private String s;
4. public WrappedString(String s) { this.s = s; }
5. public static void main(String[] args) {
6. HashSet<Object> hs = new HashSet<Object>();
7. WrappedString ws1 = new WrappedString("aardvark");
8. WrappedString ws2 = new WrappedString("aardvark");
9. String s1 = new String("aardvark");
10. String s2 = new String("aardvark");
11. hs.add(ws1); hs.add(ws2); hs.add(s1); hs.add(s2);
12. System.out.println(hs.size()); } }
What is the result?
A. 0
B. 1
C. 2
D. 3
E. 4
F. Compilation fails.
G. An exception is thrown at runtime.
Answer: D
WrappedString 的hashCode()是繼承自Object類,而String的hashCode()時重寫過的僅與字符串的內容有關。ws1 和ws2存儲地址不同,所以hashCode()的返回值不同,而s1和s2字符串的內容相同,哈希值相同。






















 

QUESTION 168
Given a class whose instances, when found in a collection of objects, are sorted by using the compareTo()
method, which two statements are true? (Choose two.)
A. The class implements java.lang.Comparable.
B. The class implements java.util.Comparator.
C. The interface used to implement sorting allows this class to define only one sort sequence.
D. The interface used to implement 






QUESTION 169
Given:
1. import java.util.*;
2. public class Example {
3. public static void main(String[] args) {
4. // insert code here
5. set.add(new Integer(2));
6. set.add(new Integer(1));
7. System.out.println(set);
8. }
9. }
Which code, inserted at line 4, guarantees that this program will output [1, 2]?
A. Set set = new TreeSet();
B. Set set = new HashSet();
C. Set set = new SortedSet();
D. List set = new SortedList();
E. Set set = new LinkedHashSet();
Answer: A
必須是排好序的集合,所以TreeSet合適。
而HashSet應該也可以的,Integer類型的hashCode()函數返回的是相應的int類型的值。如果就只有一個答案的話TreeSet是最好的選項。
SortedSet是一個interface,java裏面沒有SortedList類。




















170. public class Person {
12. private name;
13. public Person(String name) {
14. this.name = name;
15. }
16. public int hashCode() {
17. return 420;
18. }
19.
}








Which statement is true?

A. The time to find the value from HashMap with a Person key depends on the

size of the map.
B. Deleting a Person key from a HashMap will delete all map entries for all keys of type Person.
C. Inserting a second Person object into a HashSet will cause the first Person object to be
removed as a duplicate.
D. The time to determine whether a Person object is contained in a HashSet is constant and does NOT
depend on the size of the map.




 

Answer: A

 

 

B選項:刪除HashMap中一個Person對象對應的鍵將會刪除這個散列映射表中Person類的全部條目。錯誤,HashMap中Person對象的鍵值不是由Person對象決定的,而是程序員給定的鍵,例如staff.add("123-345", bob),就是把鍵爲123-456的bob對象添加到名爲staff的HashMap中,因而HashMap允許添加相同的對象。所以說,刪除一個鍵對應的Person對象並不會刪除所有的條目,他們的key都不同嘛。

C選項:向HashSet中插入另外一個Person對象將會引起第二個對象覆蓋第一個對象。錯誤,雖然Person對象的hashCode方法返回的值都是420,這僅僅表明兩個Person對象在一個entry鏈表中,接下來要調用equals方法,由於Person類沒有equals方法,所以調用Object的equals方法返回對象的存儲地址,很明顯兩個Person對象的存儲地址是不同的。綜上,HashSet中可以添加不同的Person對象,只要equals方法返回值爲false就好。

D選項:判斷一個HashSet中是否存在一個Person對象的次數是常數次,和map的大小無關。錯誤,由於Person對象的hashCode返回的值都是420,所以HashSet中的Person對象都在一個bucket中,組成了一條entry鏈表,查詢速度與entry鏈表的大小息息相關。

A:選項:由key來查找value的次數與map的大小有關。正確,map越大,即bucket的個數越多,entry鏈的長度相應的來說就越小(hashcode和桶個數取餘後的數一樣的機率就越小)。

OCJP視頻課堂,具體講解:https://edu.csdn.net/course/detail/7811



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章