Каковы результаты выполнения фрагмента программы, использующей массивы?

1. Cat[] cats=new Cat[5];

2. Rat[] rats=new Rat[6];

3. Dog[] dogs=new Dog[4];

4. Mammal[] mammals=new Mammal[15];

5. Washer[] washs=new Washer[8];

6. Nursing[] nurses=new Nursing[3];

7. mammals=(Mammal[])rats;

8. washs=cats;

9. washs=(Washer[])cats;

10. washs=(Washer[])dogs;

11. nurses=(Nursing[])rats;

A. Исключение в строке 7

B. Исключение в строке 8

C. Исключение в строке 11

D. Исключение в строке 9

E. Исключение в строке 10

F. Код компилируется и выполняется успешно

 

9. При выполнении действий над матрицами требуется согласовать их размерность. Какой из классов собственных исключений отвечает этой задаче?

A)

1. public class VectorException extends RuntimeException{

2. public VectorException(String s) {super(s);} }

B)

1. public class VectorException extends Throwable{

2. public VectorException(String s) {super(s);}}

C)

1. public class VectorException throws Exception{

2. public VectorException(String s) {super(s);} }

D)

1. public VectorException(String s) throws VectorException{

2. throw new Exception(s);}

E)

3. public class VectorException throws IOException{

4. public VectorException(String s) {super(s);} }

 

10. Какие из определений производного класса Derived верны?

1. public class Base {

2. public void method() throws RuntimeException {};}

A).

1. public class Derived extends Base {

2. public void method(){};}

B).

1. public class Derived extends Base {

2. public void method()throws ArithmeticException, IllegalArgumentException, NullPointerException{};}

C).

1. public class Derived extends Base {

2. public void method()throws Exception{};}

D).

1. public class Derived extends Base {

2. public void method()throws IOException{};}

E).

1. public class Derived extends Base {

2. public void method()throws NoSuchMethodException{};}

 

11. Как правильно определить базовый класс Slip?

1. public class SlipBy {

2. public Slip pass(){

3. return new Slip(){

4. private int hour=11;

5. public int elapse(){return hour;}; };

6. }

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

8. System.out.println("Time="+new SlipBy().pass().elapse()+" hours");}

A. public class Slip{public Slip pass(){return 0;}}

B. public class Slip{public Slip pass()}

C. public class Slip{public int elapse(){return 0;}}

D. public class Slip{public int elapse();}

E. public class Slip{public int pass(){return 0;}}

 

12. Базовый класс имеет поле distance. Как определить это поле, чтобы код исполнялся без ошибок?

1. public class Destination {

2. … int distance;

3. public Destination(int d) {distance=d;}

4. public String read() {return null;}

5. }

6. public class Cruise {

7. public Destination dest(final String dest){

8. return new Destination(100){

9. private String innerStr=dest;

10. public String read(){return innerStr+distance;}; };

11. }

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

13. System.out.println("Destination: "+ new Cruise().dest("Egipt").read());}

14. }

A. private int distance;

B. protected final int distance=100;

C. final static int distance=100;

D. protected int distance;

E. protected abstract int distance;

 

13. Имеется класс Monitor. Как правильно написать класс производителя, если, например, производитель создает последовательность целых чисел?

1. public class Monitor {

2. private int count;

3. private boolean flag=false;

4. synchronized int get() {

5. while(!flag) try{ wait();}catch(InterruptedException e){};

6. flag=false; notifyAll();

7. return count;}

8. synchronized void put (int n){

9. while(flag) try{ wait();}catch(InterruptedException e){};

10. flag=true; count=n;

11. notifyAll();}

12. }

A). public class Producer implements Runnable{

private int i=0;

public Producer(){new Thread(this).start();};

public void run(){while(true){put(i++);} }

}

B). public class Producer implements Runnable{

private Monitor mon;

private int i=0;

public Producer(Monitor mon){this.mon=mon;

new Thread(this).start(); };

public void run(){while(true){mon.put(i++);} }

}

C). public class Producer implements Runnable{

private Monitor mon;

private int i=0;

public Producer(Monitor mon){this.mon=mon;

new Thread(this).start(); };

public void run(){if(mon.flag==0){mon.put(i++);}

}

D). public class Producer extends Thread{

private Monitor mon;

private int i=0;

public Producer(Monitor mon){this.mon=mon;

start();}

public void run(){if(mon.flag==0){mon.put(i++);} }

}

E). public class Producer extends Thread{

private Monitor mon;

private int i=0;

public Producer(Monitor mon) {

this.mon=mon; start();}

public void run() {

while(true){mon.put(i++);}

}