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

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

2. Dog[] dogs=new Dog[5];

3. Cloneable clon;

4. Washer[] w;

5. Object[] objects=new Object[10];

6. clon=cats;

7. w=cats;

8. objects=cats;

9. cats=(Cat[])objects;

10. dogs=(Dog[])objects;

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

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

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

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

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

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

 

9. Метод readFile() должен выбрасывать исключение FileNotFoundException. Какие варианты генерации исключений верны?

A).

1. public void readFile() {

2. File f=new File("d:\\file1.txt");

3. if(!f.exists())throw new FileNotFoundException("inform");}

B).

1. public void readFile(){

2. try{

3. File f=new File("d:\\file1.txt");

4. if(!f.exists())throw new FileNotFoundException("inform");

}catch (FileNotFoundException e){ }

C).

4. public void readFile() throws FileNotFoundException {

5. File f=new File("d:\\file1.txt");

6. if(!f.exists())throw FileNotFoundException("inform");}

D).

1. public static void readFile() throws FileNotFoundException {

2. File f=new File("d:\\file1.txt");

3. if(!f.exists()) FileNotFoundException e = FileNotFoundException("inform");}

E).

1. public void readFile(){

2. File f=new File("d:\\file1.txt");

3. FileNotFoundException e = FileNotFoundException("inform");

4. if(!f.exists())throw e;}

 

10. Метод peril() может выбрасывать NoSuchMethodException, EOFException, ArithmeticException. Как правильно вызывать этот метод?

 
 

 

 


A).

public static void main(String[] args) throws RuntimeException {

try{peril();

}catch(IOException e){System.out.println(e.toString());}; }

B).

public static void main(String[] args) throws NoSuchMethodException {

try{peril();

}catch(RuntimeException e){System.out.println(e.toString());} }

C).

public static void main(String[] args) throws NoSuchMethodException{

try{peril();

}catch(RuntimeException e){System.out.println(e.toString());}

catch(IOException e){System.out.println(e.toString());}; }

D).

public static void main(String[] args){

try{peril();

}catch(RuntimeException e){System.out.println(e.toString());}

catch(IOException e){System.out.println(e.toString());}; }

E).

public static void main(String[] args){

try{peril();

}catch(EOFException e){System.out.println(e.toString());}

catch(RuntimeException e){System.out.println(e.toString());}

catch(IOException e){System.out.println(e.toString());}; }

 

 

11. Какие результаты компиляции и выполнения следующего кода Вы ожидаете?

1. public class Outer {

2. private int x=7;

3. private static int y=9;

4. private final int z=9;

5. public class Inner{

6. public int v=5;

7. public final static int u=3;

8. public void innerMethod(){

9. System.out.println(" x="+x);

10. System.out.println(" y="+y);

11. System.out.println(" z="+z);

12. System.out.println(" u="+u);

13. System.out.println(" v="+v);};}

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

15. new Outer().new Inner().innerMethod();} }

16. }

A. Ошибка компиляции в строке 9. Переменная x недоступна.

B. Ошибка компиляции в строке 10. Переменная y недоступна.

C. Ошибка компиляции в строке 11. Переменная z недоступна.

D. Ошибка компиляции в строке 12. Переменная u недоступна.

E. Ошибка компиляции в строке 13. Переменная v недоступна.

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

 

12. Какие переменные НЕ доступны в методе innerMethod() статического внутреннего класса Inner?

1. public class Outer2 {

2. private int x=7;

3. private static int y=9;

4. private final static int z=9;

5. public static class Inner{

6. public int u=5;

7. public static int v=3;

8. public final static int t=3;

9. public void innerMethod(){

10. System.out.println(" x="+x);

11. System.out.println(" y="+y);

12. System.out.println(" z="+z);

13. System.out.println(" u="+u);

14. System.out.println(" v="+v);

15. System.out.println(" t="+t);} } }

A. Переменная y в строке 11

B. Переменная z в строке 12

C. Переменная x в строке 10

D. Переменная u в строке 13

E. Переменная v в строке 14

F. Переменная t в строке 15

G. Все переменные доступны

 

13. Что будет результатом выполнения двух потоков, имеющих приоритет 10?

1. public class Multithread implements Runnable {

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

3. Multithread []m=new Multithread[5];

4. Thread []t=new Thread[5];

5. for (int i=0;i<5;i++){

6. m[i]=new Multithread();

7. t[i]=new Thread(m[i],"thread"+i);

8. t[i].setPriority(10); t[i].start();}

9. }

10. public void run() {

11. while(true){

12. System.out.println(Thread.currentThread().getName());

13. Thread.currentThread().suspend();

14. Thread.currentThread().resume();}

15. } }

A. Пять потоков будут исполняться по очереди однократно. Результат: thread =0 thread =1 thread =2 thread =3 thread =4 .

B. Только один нулевой поток t[0] исполнится однократно. Результат: thread=0

C. Только один поток t[0] будет многократно исполняться. Результат: thread =0 thread =0 thread =0 …

D. Пять потоков будут исполняться по очереди многократно. Результат: thread =0 thread =1 thread =2 thread =3 thread =4 thread =0 thread =1 thread =2…

E. Пять потоков чередуются неравномерно. Результат, например, может быть таким: thread =0 thread =1 thread =1 thread =2 thread =3 thread =3 thread =3 thread =4 …

 

14. Какой результат компиляции и исполнения программы Вы ожидаете?

1. public class Message implements Runnable{

2. String str1;

3. String str2;

4. public Message(String s1,String s2) {

5. str1=s1; str2=s2;

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

7. public void run() {

8. while(true){

9. System.out.print(str1);

10. try{Thread.sleep(500);}catch(InterruptedException e){};

11. System.out.print(str2); System.out.println();}

12. }

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

14. Message ms1=new Message("IP "," is an ");

15. Message ms2=new Message("Internet ","Protocol ");}

16. }

 

A. Ошибки компиляции в строках 14 и 15, поскольку исключения не обработаны.

B. Дочерний поток исполняется с результатом IP is an Internet Protocol. Затем главный поток завершается. Результат: IP is an Internet Protocol.

C. Дочерний поток исполняется бесконечно долго. Результат может быть любым IP Internet Protocol is an или Internet IP is an Protocol или IP Internet is an Protocol … и т.д.

D. Дочерний поток исполняется с результатом IP Internet Protocol is an. Затем главный поток завершается. Результат: IP Internet Protocol is an.

E. Дочерний поток исполняется бесконечно долго. Результат: IP is an Internet Protocol, IP is an Internet Protocol, IP is an Internet Protocol, …и т.д.