Каковы результаты выполнения фрагмента программы, использующей массивы?
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++);}
}