Читать книгу OCP Oracle Certified Professional Java SE 11 Developer Practice Tests - Jeanne Boyarsky - Страница 25

Chapter 4 Exception Handling

Оглавление

THE OCP EXAM TOPICS COVERED IN THIS PRACTICE TEST INCLUDE THE FOLLOWING:

 Exception HandlingHandle exceptions using try/catch/finally clauses, try‐with‐resource, and multi‐catch statementsCreate and use custom exceptions

1 Fill in the blanks: The ___________________ keyword is used in method declarations, while the ___________________ keyword is used to send an exception to the surrounding process.throwing, catchthrows, throwcatch, throwthrows, catchthrow, throwscatch, throwing

2 What is the result of compiling and executing the following application?package mind; import java.io.*; public class Remember { public static void think() throws IOException { // k1 try { throw Exception(); } catch (RuntimeException r) {} // k2 } public static void main(String… ideas) throws Exception { think(); } }The code compiles and runs without printing anything.The code compiles, but a stack trace is printed at runtime.The code does not compile because of line k1.The code does not compile because of line k2.None of the above.

3 Given the following keywords, in which order could they be used? (Choose two.)try, finallycatch, try, finallytry, catch, catch, finallyfinally, catch, trytry, finally, catchtry, catch, finally, finally

4 Fill in the blanks: A try statement ______________ a catch or a finally block, while a try‐with‐resources statement ______________.is not required to contain, is not required to contain eitheris not required to contain, must contain one of themmust contain, is not required to contain eithermust contain, must contain a catch blockNone of the above.

5 What is the output of the following application?package park; class LostBallException extends Exception {} public class Ball { public void toss() throw LostBallException { var windUp = new int[0]; System.out.println(windUp[0]); } public static void main(String[] bouncy) { try { new Ball().toss(); } catch (Throwable e) { System.out.print("Caught!"); } } }0Caught!The code does not compile because LostBallException is not handled or declared in the main() method.The code does not compile because ArrayIndexOutOfBoundsException is not handled or declared in the toss() method.The code does not compile for a different reason.None of the above.

6 Assuming Scanner is a valid class that implements AutoCloseable, what is the expected output of the following code?try (Scanner s = new Scanner(System.in)) { System.out.print(1); s.nextLine(); System.out.print(2); s = null; } catch (IllegalArgumentException | NullPointerException x) { s.nextLine(); System.out.print(3); } finally { s.nextLine(); System.out.print(4); } System.out.print(5);12451251234 followed by a stack trace124 followed by a stack traceDoes not compileNone of the above

7 How many constructors in WhaleSharkException compile in the following class?package friendly; public class WhaleSharkException extends Exception { public WhaleSharkException() { super("Friendly shark!"); } public WhaleSharkException(String message) { super(new Exception(new WhaleSharkException())); } public WhaleSharkException(Exception cause) {} }NoneOneTwoThree

8 What is the output of the following application?package game; public class Football { public static void main(String officials[]) { try { System.out.print('A'); throw new ArrayIndexOutOfBoundsException(); } catch (RuntimeException r) { System.out.print('B'); throw r; } catch (Exception e) { System.out.print('C'); } finally { System.out.print('D'); } } }ABCABDABC followed by a stack traceABD followed by a stack traceAD followed by a stack traceNone of the above

9 Which of the following types are not recommended to catch in your application? (Choose two.)ExceptionCheckedExceptionThrowableRuntimeExceptionUncheckedExceptionError

10 What is the output of the following program?package buffet; class Garden implements AutoCloseable { private final int g; Garden(int g) { this.g = g; } public void close() throws Exception { System.out.print(g); } } public class Salad { public static void main(String[] u) throws Exception { var g = new Garden(5); try (g; var h = new Garden(4); var i = new Garden(2)) { } finally { System.out.println(9); } g = null; } }2459924554299542The code does not compile.None of the above.

11 What is the output of the following application?package paper; import java.io.Closeable; public class PrintCompany { class Printer implements Closeable { // r1 public void print() { System.out.println("This just in!"); } public void close() {} } public void printHeadlines() { try {Printer p = new Printer()} { // r2 p.print(); } } public static void main(String[] headlines) { new PrintCompany().printHeadlines(); // r3 } }This just in!The code does not compile because of line r1.The code does not compile because of line r2.The code does not compile because of line r3.The code does not compile for a different reason.None of the above.

12 How many of these custom exceptions are unchecked exceptions?class ColoringException extends IOException {} class CursiveException extends WritingException {} class DrawingException extends IllegalStateException {} class SketchingException extends DrawingException {} class WritingException extends Exception {}NoneOneTwoThreeFourFive

13 How many lines of text does the following program print?package lighting; import java.io.IOException; public class Light { public static void main(String[] v) throws Exception { try { new Light().turnOn(); } catch (RuntimeException v) { // y1 System.out.println(v); throw new IOException(); // y2 } finally { System.out.println("complete"); } } public void turnOn() throws IOException { new IOException("Not ready"); // y3 } }One.Two.The code does not compile because of line y1.The code does not compile because of line y2.The code does not compile because of line y3.None of the above.

14 Which statements about try‐with‐resources are false? (Choose two.)If more than one resource is used, the resources are closed in the order they were created.Parentheses are used for the resource declaration section, even if more than one resource is used.If the try block and close() method both throw an exception, then the one thrown by the close() method is suppressed.A resource may be declared before it is used in a try‐with‐resources statement.Resources declarations are separated by commas.A catch block is not required.

15 How many lines of text does the following program print?package bee; class SpellingException extends RuntimeException {} public class SpellChecker { public final static void main(String… participants) { try { if(!"cat".equals("kat")) { new SpellingException(); } } catch (SpellingException | NullPointerException e) { System.out.println("Spelling problem!"); } catch (Exception e) { System.out.println("Unknown Problem!"); } finally { System.out.println("Done!"); } } }One.Two.Three.The code does not compile.None of the above.

16 Which of the following exception types must be handled or declared by the method in which they are thrown? (Choose three.)FileNotFoundExceptionClassCastExceptionErrorIOExceptionNullPointerExceptionException

17 What is the output of the following application?package bed; public class Sleep { public static void snore() { try { String sheep[] = new String[3]; System.out.print(sheep[3]); } catch (RuntimeException | Error e) { System.out.print("Awake!"); } finally { throw new Exception(); // x1 } } public static void main(String… sheep) { // x2 new Sleep().snore(); // x3 } }Awake!Awake! followed by a stack traceDoes not compile because of line x1Does not compile because of line x2Does not compile because of line x3None of the above

18 What is the output of the following code?class ProblemException extends Exception { ProblemException(Exception e) { super(e); } } class MajorProblemException extends ProblemException { MajorProblemException(String message) { super(message); } } public class Unfortunate { public static void main(String[] args) throws Exception { try { System.out.print(1); throw new MajorProblemException("Uh oh"); } catch (ProblemException | RuntimeException e) { System.out.print(2); try { throw new MajorProblemException("yikes"); } finally { System.out.print(3); } } finally { System.out.print(4); } } }123123 followed by an exception stack trace.12341234 followed by an exception stack trace.The code does not compile.None of the above.

19 Which statement best describes how a class that implements the AutoCloseable interface should be written? (Choose two.)The close() method is optional since the AutoCloseable interface defines a default implementation.The close() method should avoid modifying data after it has been run once.The close() method should not throw any exceptions.The close() method should throw an exception if there is a problem closing the resource.The close() method should return a status code.

20 Which of the following diagrams of java.lang classes shows the inheritance model properly?

21 Which exception classes, when inserted into the blank in the Problems class, allow the code to compile?class MissingMoneyException {} class MissingFoodException {} public class Problems { public void doIHaveAProblem() throws MissingMoneyException, MissingFoodException { System.out.println("No problems"); } public static void main(String[] s) throws ______________ { try { final Problems p = new Problems(); p.doIHaveAProblem(); } catch (Exception e) { throw e; } } }ExceptionRuntimeExceptionMissingFoodExceptionMissingMoneyException, MissingFoodExceptionMissingMoneyExceptionNone of the above

22 Which statements about Closeable and AutoCloseable are true? (Choose two.)AutoCloseable extends Closeable.Closeable extends AutoCloseable.The close() method in a class that implements AutoCloseable cannot throw an IOException.The close() method in a class that implements Closeable cannot throw an Exception.There is no difference; one was added for backward compatibility.Both have a generic return type.

23 Which expressions, when inserted into the blank in the following class, allow the code to compile? (Choose two.)package sun; import java.io.*; public class Beach { class TideException extends Exception {} public void surf() throws RuntimeException { try { throw new TideException(); } catch (_______________) {} } }Exception a | RuntimeException fIllegalStateException | TideException tTideException | IOException iTideException | Exception xError eException z

24 Which of the following are the best scenarios in which to use and catch an exception? (Choose two.)The computer caught fire.A network connection goes down.A caller passes invalid data to a method.The code does not compile.A method finishes sooner than expected.The program runs out of memory.

25 Which statement about the following program is correct?1: package dogpark; 2: public class Fetch { 3: public int play(String name) throws RuntimeException { 4: try { 5: throw new RuntimeException(name); 6: } catch (Throwable e) { 7: throw new RuntimeException(e); 8: } 9: } 10: public static final void main(String[] ball) 11: throws RuntimeException { 12: new Fetch().play("Webby"); 13: new Fetch().play("Georgette"); 14: } 15: }One exception is thrown to the caller at runtime.Two exceptions are thrown to the caller at runtime.More than two exceptions are thrown to the caller at runtime.The class does not compile because of the play() method.The class does not compile because of the main() method.None of the above.

26 What is the output of the following application?package body; import java.io.IOException; class Organ { public void operate() throws IOException { throw new RuntimeException("Not supported"); } } public class Heart extends Organ { public void operate() throws Exception { System.out.print("beat"); } public static void main(String… c) throws Exception { try { new Heart().operate(); } finally { System.out.print("!"); } } }beatbeat!Not supportedThe code does not compile.The code compiles, but a stack trace is printed at runtime.None of the above.

27 Which of the following are not true of using a try‐with‐resources statement? (Choose two.)It shortens the amount of code a developer must write.It is possible to close a resource before the end of the try block.Associated catch blocks are run before the declared resources have been closed.It is compatible with all classes that implement the Closeable interface.It is compatible with all classes that implement the AutoCloseable interface.It cannot be used with a finally block.

28 What is the result of compiling and executing the following class?package wind; public class Storm { public static void main(String… rain) throws Exception { var weatherTracker = new AutoCloseable() { public void close() throws RuntimeException { System.out.println("Thunder"); } }; try (weatherTracker) { System.out.println("Tracking"); } catch (Exception e) { System.out.println("Lightning"); } finally { System.out.println("Storm gone"); weatherTracker.close(); } } }It prints one line.It prints two lines.It prints three lines.It prints four lines.It does not compile due to an error in the declaration of the weatherTracker resource.It does not compile for a different reason.

29 How many of the following are valid exception declarations?class Error extends Exception {} class _X extends IllegalArgumentException {} class 2BeOrNot2Be extends RuntimeException {} class NumberException<Integer> extends NumberFormatException {} interface Worry implements NumberFormatException {}ZeroOneTwoThreeFourFive

30 If a try statement has catch blocks for both ClassCastException and RuntimeException, then which of the following statements is correct?The catch blocks for these two exception types can be declared in any order.A try statement cannot be declared with these two catch block types because they are incompatible.The catch block for ClassCastException must appear before the catch block for RuntimeException.The catch block for RuntimeException must appear before the catch block for ClassCastException.None of the above.

31 Assuming Scanner is a valid class that implements AutoCloseable, what is the expected output of the following application?package castles; import java.util.Scanner; public class Fortress { public void openDrawbridge() throws Exception { // p1 try { throw new Exception("Circle"); // p2 } catch (Exception | Error e) { System.out.print("Opening!"); } finally { System.out.print("Walls"); } } public static void main(String[] moat) { try (var e = new Scanner(System.in)) { new Fortress().openDrawbridge(); // p3 } } }Opening!WallsThe code does not compile because of line p1.The code does not compile because of line p2.The code does not compile because of line p3.The code compiles, but a stack trace is printed at runtime.None of the above.

32 What is the output of the following application?package game; public class BasketBall { public static void main(String[] dribble) { try { System.out.print(1); throw new ClassCastException(); } catch (ArrayIndexOutOfBoundsException ex) { System.out.print(2); } catch (Throwable ex) { System.out.print(3); } finally { System.out.print(4); } System.out.print(5); } }14513451235The code does not compile.The code compiles but throws an exception at runtime.None of the above.

33 Which of the following statements about finally blocks are true? (Choose two.)Every line of the finally block is guaranteed to be executed.The finally block is executed only if the related catch block is also executed.The finally statement requires curly braces, {}.A finally block cannot throw an exception.The first line of a finally block is guaranteed to be executed.A finally block can only throw unchecked exceptions.

34 What is the output of the following application?package signlanguage; import java.io.Closeable; class ReadSign implements Closeable { public void close() {} public String get() {return "Hello";} } class MakeSign implements AutoCloseable { public void close() {} public void send(String message) { System.out.print(message); } } public class Translate { public static void main(String… hands) { try (ReadSign r = new ReadSign(); MakeSign w = new MakeSign();) { w.send(r.get()); } } }HelloThe code does not compile because of the ReadSign class.The code does not compile because of the MakeSign class.The code does not compile because of the Translate class.The code does not compile because of the try‐with‐resources statement.None of the above.

35 What is the output of the following application?package what; class FunEvent implements AutoCloseable { private final int value; FunEvent(int value) { this.value = value; } public void close() { System.out.print(value); } } public class Happening { public static void main(String… lots) { FunEvent e = new FunEvent(1); try (e; var f = new FunEvent(8)) { System.out.print("2"); throw new ArithmeticException(); } catch (Exception x) { System.out.print("3"); } finally { System.out.print("4"); } } }2421834234182348128134The code does not compile.

36 What is the output of the following application?package office; import java.io.*; public class Printer { public void print() { try { throw new FileNotFoundException(); } catch (Exception | RuntimeException e) { System.out.print("Z"); } catch (Throwable f) { System.out.print("X"); } finally { System.out.print("Y"); } } public static void main(String… ink) { new Printer().print(); } }YXYZYThe code does not compile.The code compiles, but a stack trace is printed at runtime.None of the above.

37 What is the output of the following code?class ProblemException extends Exception { ProblemException(Exception e) { super(e); } } class MajorProblemException extends ProblemException { MajorProblemException(Exception e) { super(e); } } public class Unfortunate { public static void main(String[] args) throws Exception { try { System.out.print(1); throw new MajorProblemException( new IllegalStateException()); } catch (ProblemException | RuntimeException e) { System.out.print(2); try { throw new MajorProblemException(e); } finally { System.out.print(3); } } finally { System.out.print(4); } } }123123 followed by an exception stack trace12341234 followed by an exception stack traceDoes not compileNone of the above

38 What is the output of the following application?1: package robot; 2: public class Computer { 3: public void compute() throws Exception { 4: throw new NullPointerException("Does not compute!"); 5: } 6: public static void main(String[] b) throws Exception { 7: try { 8: new Computer().compute(); 9: } catch (RuntimeException e) { 10: System.out.print("zero"); 11: throw e; 12: } catch (Exception e) { 13: System.out.print("one"); 14: throw e; 15: } 16: } 17: }zeroonezero followed by a stack traceone followed by a stack traceDoes not compileNone of the above

39 Given the following class diagram, which two classes are missing in the hierarchy at positions 1 and 2?IOException at position 1, Exception at position 2Exception at position 1, RuntimeException at position 2IllegalArgumentException at position 1, RuntimeException at position 2IllegalStateException at position 1, RuntimeException at position 2Exception at position 1, FileNotFoundException at position 2None of the above

40 What is the output of the following application?package vortex; class TimeException extends Exception {} class TimeMachine implements AutoCloseable { int v; public TimeMachine(int v) {this.v = v;} public void close() throws Exception { System.out.print(v); } } public class TimeTraveler { public static void main(String[] twelve) { try (var timeSled = new TimeMachine(1); var delorean = new TimeMachine(2); var tardis = new TimeMachine(3)) { } catch (TimeException e) { System.out.print(4); } finally { System.out.print(5); } } }1235321551235321The code does not compile.None of the above.

41 Which of the following are common reasons to add a checked exception to a method signature? (Choose three.)To alert developers that the state of the JVM has been corruptedTo force a caller to handle or declare potential problemsTo ensure that exceptions never cause the application to terminateTo notify the caller of potential types of problemsTo give the caller a chance to recover from a problemTo annoy other developers

42 Which statement about the following application is correct?package highway; import java.io.*; class CarCrash extends RuntimeException { CarCrash(Exception e) {} // w1 } public class Car { public static void main(String[] s) throws Exception { // w2 try { throw new IOException("Auto-pilot error"); } catch (Exception | CarCrash e) { // w3 throw e; } catch (Exception a) { // w4 throw a; } } }The code does not compile because of line w1.The code does not compile because of line w2.The code does not compile because of line w3.The code does not compile because of line w4.The code compiles and prints a stack trace at runtime.None of the above.

43 Which of the following exception classes must be handled or declared in the method in which they are thrown? (Choose three.)public class Happy extends IOException {} public class Dopey extends Grumpy {} public class Sleepy extends IllegalStateException {} public class Sneezy extends UnsupportedOperationException {} public class Doc extends AssertionError {} public class Grumpy extends SQLException {}HappyDopeySleepySneezyDocGrumpy

44 What is the output of the following application?package pond; abstract class Duck { protected int count; public abstract int getDuckies(); } public class Ducklings extends Duck { private int age; public Ducklings(int age) { this.age = age; } public int getDuckies() { return this.age/count; } public static void main(String[] pondInfo) { Duck itQuacks = new Ducklings(5); System.out.print(itQuacks.getDuckies()); } }015The code does not compile.The code compiles but throws an exception at runtime.None of the above.

45 Which statements about the following line of code are correct? (Choose three.)throw new IllegalArgumentException ();The method where this is called must declare a compatible exception.The code where this is called can include a try‐with‐resources block that handles this exception.This exception should not be handled or declared.The code where this is called can include a try/catch block that handles this exception.This exception should be thrown only at the start of a method.This exception does not need to be handled by the method in which it is called.

46 What is the output of the following application?package storage; import java.io.*; public class Backup { public void performBackup() { try { throw new IOException("Disk not found"); // z1 } catch (Exception e) { try { throw new FileNotFoundException("File not found"); } catch (FileNotFoundException e) { // z2 System.out.print("Failed"); } } } public static void main(String… files) { new Backup().performBackup(); // z2 } }FailedThe application compiles, but a stack trace is printed at runtime.The code does not compile because of line z1.The code does not compile because of line z2.The code does not compile because of line z3.None of the above.

47 What is the output of the following?package com.tps; import java.io.IOException; public class IncidentReportException extends RuntimeException { public static void main(String[] args) throws Exception { try { throw new IncidentReportException(new IOException()); } catch (RuntimeException e) { System.out.println(e.getCause()); } } }com.tps.IncidentReportExceptionjava.lang.IOExceptionThe code does not compile because IOException is a checked exception.The code does not compile due to the declaration of IncidentReportException.None of the above.

48 Which expression, when inserted into the blank in the following class, allows the code to compile?package music; import java.sql.*; public class Bells { class Player implements AutoCloseable { @Override public void close() throws RingException {} } class RingException extends Exception { public RingException(String message) {} } public static void main(String[] notes) throws Throwable { try (Player p = null) { throw new Exception(); } catch (Exception e) { } catch (_______________) { } } }Error rIllegalStateException bRingException qSQLException pRuntimeException rThe code does not compile regardless of the expression used.

49 What is the output of the following application?package zoo; class BigCat { void roar(int level) throw RuntimeException { if(level<3) throw new IllegalArgumentException(); System.out.print("Roar!"); } } public class Lion extends BigCat { public void roar() { System.out.print("Roar!!!"); } void roar(int sound) { System.out.print("Meow"); } public static void main(String[] cubs) { final BigCat kitty = new Lion(); kitty.roar(2); } }MeowRoar!Roar!!!MeowRoar!A stack trace is printed at runtime.None of the above.

50 Which statement about the following program is true?package tag; class MissedCallException extends Exception {} public class Phone { static void makeCall() throws RuntimeException { throw new ArrayIndexOutOfBoundsException("Call"); } public static void main(String[] messages) { try { makeCall(); } catch (MissedCallException e) { throw new RuntimeException("Voicemail"); } finally { throw new RuntimeException("Text"); } } }An exception is printed at runtime with Call in the message.An exception is printed at runtime with Voicemail in the message.An exception is printed at runtime with Text in the message.The code does not compile.None of the above.

51 If a try statement has catch blocks for both IllegalArgumentException and NullPointerException, then which of the following statements is correct?The catch blocks for these two exception types can be declared in any order.A try statement cannot be declared with these two catch block types because they are incompatible.The catch block for IllegalArgumentException must appear before the catch block for NullPointerException.The catch block for NullPointerException must appear before the catch block for IllegalArgumentException.None of the above.

52 What is the output of the following application?package furniture; class Chair { public void sit() throws IllegalArgumentException { System.out.print("creek"); throw new RuntimeException(); } } public class Stool extends Chair { public void sit() throws RuntimeException { System.out.print("thud"); } public static void main(String… c) throws Exception { try { new Stool().sit(); } finally { System.out.print("?"); } } }creekthudthud?The code does not compile.The code compiles, but a stack trace is printed at runtime.None of the above.

53 What is the output of the following application?import java.io.*; import java.sql.*; public class DatabaseHelper { static class MyDatabase implements Closeable { public void close() throws SQLException { System.out.print("2"); } public void write(String data) {} public String read() {return null;} } public static void main(String… files) throws Exception { try (MyDatabase myDb = new MyDatabase()) { // TODO: Decide what to read/rite } finally { System.out.print("1"); } } }1221The code does not compile because of the MyDatabase nested class.The code does not compile because of the try‐with‐resources statement.The code does not compile for a different reason.

54 What constructors are capable of being called on a custom exception class that directly extends the Exception class?One that takes a single ExceptionOne that takes a single StringBoth of theseNeither of these

55 What is the result of compiling and running the following application?package dinner; public class Pizza { Exception order(RuntimeException e) { // h1 throw e; // h2 } public static void main(String… u) { var p = new Pizza(); try { p.order(new IllegalArgumentException()); // h3 } catch(RuntimeException e) { // h4 System.out.print(e); } } }java.lang.IllegalArgumentException is printed.The code does not compile because of line h1.The code does not compile because of line h2.The code does not compile because of line h3.The code does not compile because of line h4.The code compiles, but a stack trace is printed at runtime.

56 Given an application that hosts a website, which of the following would most likely result in a java.lang.Error being thrown? (Choose two.)A user tries to sign in too many times.Two users try to register an account at the same time.An order update page calls itself infinitely.The application temporarily loses connection to the network.A user enters their password incorrectly.The connections to a database are never released and keep accumulating.

57 How many lines of text does the following program print?package tron; class DiskPlayer implements AutoCloseable { public void close() {} } public class LightCycle { public static void main(String… bits) { try (DiskPlayer john = new DiskPlayer()) { System.out.println("ping"); john.close(); } finally { System.out.println("pong"); john.close(); } System.out.println("return"); } }One.Two.Three.The code does not compile because of the DiskPlayer class.The code does not compile for a different reason.None of the above.

58 What is the output of the following?package com.tps; import java.io.IOException; public class IncidentReportException extends RuntimeException { public IncidentReportException(Exception e) { super(e); } public static void main(String[] args) throws Exception { try { throw new IncidentReportException(new IOException()); } catch (RuntimeException e) { System.out.println(e.getCause()); } } }com.tps.IncidentReportExceptionjava.lang.IOExceptionThe code does not compile because IOException is a checked exception.The code does not compile due to the declaration of IncidentReportException.None of the above.

59 Given the following application, what is the name of the class printed at line e1?package canyon; final class FallenException extends Exception {} final class HikingGear implements AutoCloseable { @Override public void close() throws Exception { throw new FallenException(); } } public class Cliff { public final void climb() throws Exception { try (HikingGear gear = new HikingGear()) { throw new RuntimeException(); } } public static void main(String… rocks) { try { new Cliff().climb(); } catch (Throwable t) { System.out.println(t); // e1 } } }canyon.FallenExceptionjava.lang.RuntimeExceptionThe code does not compile.The code compiles, but the answer cannot be determined until runtime.None of the above.

60 Given the following application, which specific type of exception will be printed in the stack trace at runtime?package carnival; public class WhackAnException { public static void main(String… hammer) { try { throw new ClassCastException(); } catch (IllegalArgumentException e) { throw new IllegalArgumentException(); } catch (RuntimeException e) { throw new NullPointerException(); } finally { throw new RuntimeException(); } } }ClassCastExceptionIllegalArgumentExceptionNullPointerExceptionRuntimeExceptionThe code does not compile.None of the above.

OCP Oracle Certified Professional Java SE 11 Developer Practice Tests

Подняться наверх