игра брюс 2048
Главная / Программирование / Программирование на Java / Тест 9

Программирование на Java - тест 9

Упражнение 1:
Номер 1
Сколько ошибок компиляции и ошибок времени выполнения в следующем примере?
                
                    int b[] = new int[5];
                    for (int i = 0; i <= b.length(); i++) {
                        b[i] = Math.sqrt(i);
                    }
                
            

Ответ:

 (1)

 (2)

 (3)

 (4)

 (5)


Номер 2
Сколько ошибок компиляции и ошибок времени выполнения в следующем примере?
                
                    int b[] = new int[5];
                    for (int i = 0; i < b.length(); i++) {
                        b[i] = Math.sqrt(i);
                    }
                
            

Ответ:

 (1)

 (2)

 (3)

 (4)

 (5)


Упражнение 2:
Номер 1
Что нужно подставить вместо знаков подчеркивания, чтобы программа вывела на экран "000"?
                
                    public class SomeClass {
                        public static void main(String[] args) {
                            ____
                            for (int i = 0; i < b.length; i++) {
                                System.out.print(b[i]);
                            }
                        }
                    }
                
            

Ответ:

 (1) int b[] = new int[]; 

 (2) int b[] = new int[3]; 

 (3) int b[]; 

 (4) int b[3]; 

 (5) int b[] = new int[] {0}; 


Номер 2
Что нужно подставить вместо знаков подчеркивания, чтобы программа вывела на экран "000"?
                
                    public class SomeClass {
                        public static void main(String[] args) {
                            ____
                            for (int i = 0; i < b.length; i++) {
                                System.out.print(b[i]);
                            }
                        }
                    }
                
            

Ответ:

 (1) int b[3] = new int[] {0,0,0}; 

 (2) int b[] = new int[3] {0,0,0}; 

 (3) int b[] = new int[] {0,0,0}; 

 (4) int b[3] = new int[3] {0,0,0}; 

 (5) int b[] = new {0,0,0}; 


Номер 3
Что нужно подставить вместо знаков подчеркивания, чтобы программа вывела на экран "000"?
                
                    public class SomeClass {
                        public static void main(String[] args) {
                            ____
                            for (int i = 0; i < b.length; i++) {
                                System.out.print(b[i]);
                            }
                        }
                    }
                
            

Ответ:

 (1) int b[] = new {0,0,0}; 

 (2) int b[3] = [0,0,0]; 

 (3) int b[] = {0,0,0}; 

 (4) int b[] = [0,0,0]; 


Упражнение 3:
Номер 1
Сколько объектов порождается при инициализации массива new int[3][4]?

Ответ:

 (1) 1 

 (2) 2 

 (3) 3 

 (4) 4 

 (5) ни одного, так как код не будет скомпилирован 


Номер 2
Сколько объектов порождается при инициализации массива
                new int[3][]?
            

Ответ:

 (1) 1 

 (2) 2 

 (3) 3 

 (4) 4 

 (5) ни одного, так как код не будет скомпилирован 


Номер 3
Сколько объектов порождается при инициализации массива
                new int[][3]?
            

Ответ:

 (1) 1 

 (2) 2 

 (3) 3 

 (4) 4 

 (5) ни одного, так как код не будет скомпилирован 


Упражнение 4:
Номер 1
Какое утверждение относительно приведения массивов верно

Ответ:

 (1) любые массивы приводимы, поскольку являются объектами 

 (2) A[] можно привести кB[], если A приводится к B 

 (3) A[] можно привести к B[], если A приводится к B, и A, B – ссылочные типы  

 (4) массивы не преобразовываются 


Номер 2
Какие утверждения относительно приведения массивов верны

Ответ:

 (1) преобразования между типами массивов, основанных на различных примитивных типах, запрещены 

 (2) A[] можно привести кB[], если A приводится кB, иA, B – ссылочные типы  

 (3) массивы не преобразовываются 

 (4) A[] можно привести кB[], если A приводится к B 


Номер 3
Какое утверждение относительно приведения массивов верно?

Ответ:

 (1) многомерные массивы преобразовывать нельзя 

 (2) любые массивы приводимы, поскольку являются объектами 

 (3) A[] можно привести к B[], если A приводится к B, и A, B – примитивные типы  

 (4) массивы не преобразовываются 

 (5) ничего из перечисленного 


Упражнение 5:
Номер 1
Какой метод сгенерирует ошибку ArrayStoreException при передаче в него массива v?
                public class Vehicle {
                    public static void main(String[] args) {
                        Vehicle[] v = new Car[5];
                        ...
                    }
                    public void setVehicles(Vehicle c[]) {
                        c[0] = new Vehicle();
                    }
                    public void setVehicles2(Vehicle c[]) {
                        if (c[0] instanceof Vehicle) {
                            c[0] = new Vehicle();
                        }
                    }
                    public void setVehicles3(Car c[]) {
                        if (c[0] instanceof Car) {
                            c[0] = new Car();
                        }
                    }
                }
                class Car extends Vehicle{}
            

Ответ:

 (1) setVehicles 

 (2) setVehicles2 

 (3) setVehicles3 


Номер 2
Какой метод сгенерирует ошибку ArrayStoreException при передаче в него массива v?
                public class Vehicle {
                    public static void main(String[] args) {
                        Vehicle[] v = new Car[] { new Car()};
                        ...
                    }
                    public void setVehicles(Vehicle c[]) {
                        c[0] = new Vehicle();
                    }
                    public void setVehicles2(Vehicle c[]) {
                        if (c[0] instanceof Car) {
                            c[0] = new Vehicle();
                        }
                    }
                    public void setVehicles3(Vehicle c[]) {
                        if (c[0] instanceof Vehicle) {
                            c[0] = new Car();
                        }
                    }
                }
                class Car extends Vehicle{}
            

Ответ:

 (1) setVehicles 

 (2) setVehicles2 

 (3) setVehicles3 

 (4) setVehicles и setVehicles3 

 (5) setVehicles и setVehicles2 


Номер 3
Какой метод сгенерирует ошибку ArrayStoreException при передаче в него массива v?
                public class Vehicle {
                    public static void main(String[] args) {
                        Vehicle[] v = new Car[] { new Car()};
                        ...
                    }
                    public void setVehicles(Vehicle c[]) {
                        c[0] = new Vehicle();
                    }
                    public void setVehicles2(Vehicle c[]) {
                        if (c[0] instanceof Vehicle) {
                            c[0] = new Car();
                        }
                    }
                    public void setVehicles3(Vehicle c[]) {
                        if (c[0] instanceof Car) {
                            c[0] = new Vehicle();
                        }
                    }
                }
                class Car extends Vehicle{}
            

Ответ:

 (1) setVehicles 

 (2) setVehicles2 

 (3) setVehicles3 

 (4) setVehicles и setVehicles3 

 (5) setVehicles и setVehicles2 


Упражнение 6:
Номер 1
От какого класса наследуются классы массивов?

Ответ:

 (1) особый класс для массивов 

 (2) Object 

 (3) одномерные массивы – отObject, двумерные – от одномерных и т.д. 

 (4) ни от какого 


Номер 2
От какого класса наследуются классы двумерных массивов?

Ответ:

 (1) особый класс для массивов 

 (2) Object 

 (3) от классов одномерных массивов 

 (4) ни от какого 


Номер 3
Может ли массив основываться на абстрактных классах? Интерфейсах?

Ответ:

 (1) да, да 

 (2) да, нет 

 (3) нет, да 

 (4) нет, нет 


Упражнение 7:
Номер 1
Какие утверждения относительно клонирования верны?

Ответ:

 (1) выражение x == x.clone() должно быть истинным 

 (2) выражение x.clone().getClass() == x.getClass() может быть ложным 

 (3) выражение x.equals(x.clone()) должно быть истинным 

 (4) для того, чтобы иметь возможность вызвать метод Clone() у объекта, класс объекта должен реализовать интерфейс IsCloneable 

 (5) попытка вызова new Object().clone() не приведет к ошибке 


Номер 2
Какие утверждения относительно клонирования верны?

Ответ:

 (1) для того, чтобы иметь возможность вызвать метод Clone() у объекта, класс объекта должен реализовать интерфейс Cloneable 

 (2) массивы не реализуют интерфейс Cloneable 

 (3) выражение x == x.clone() может быть ложным 

 (4) возможна ситуация, когда объект нельзя клонировать, дабы не нарушить целостность системы 

 (5) выражение x.clone().getClass() == x.getClass() может быть ложным 


Номер 3
Какие утверждения относительно клонирования верны?

Ответ:

 (1) выражение x.clone().getClass() == x.getClass() должно быть истинным 

 (2) выражение x == x.clone() должно быть ложным 

 (3) попытка вызова new Object().clone() не приведет к ошибке 

 (4) попытка вызова new Object().clone() приведет к ошибке 


Упражнение 8:
Номер 1
Что будет выведено на экран в результате выполнения следующего кода: 
                public class SomeClass {
                    public static void main(String[] args) {
                        int a[] = {1, 2, 3};
                        int b[] = (int[]) a.clone();
                        a[0] = 0;
                        System.out.print(b[0]);
                        System.out.print(b[1]);
                        System.out.print(b[2]);
                    }
                }
            

Ответ:

 (1) 023 

 (2) 123 

 (3) сообщение об ошибке компиляции 

 (4) сообщение об ошибке времени исполнения 


Номер 2
Что будет выведено на экран в результате выполнения следующего кода: 

public class SomeClass {
            public static void main(String[] args) {
                        int a[][] = {{1, 2}, {3}};
                        int b[][] = (int[][]) a.clone();
                        a[0] = new int[]{0};
                        System.out.println(b[0][0]);
             }
}

Ответ:

 (1) 0 

 (2) 0, 2 

 (3) 1 

 (4) 1, 2 

 (5) сообщение об ошибке времени исполнения 


Номер 3
Что будет выведено на экран в результате выполнения следующего кода:  public class SomeClass {
  public static void main(String[] args) {
      int a[] = {1, 2, 3};
      int b[] = (int[]) a.clone();
      a[0] = 0;
      System.out.print(b[0]);
    }
}

Ответ:

 (1) 0 

 (2) 0, 2 

 (3) 1 

 (4) 1, 2 

 (5) сообщение об ошибке времени исполнения 




Главная / Программирование / Программирование на Java / Тест 9