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

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

Упражнение 1:
Номер 1
Что будет выведено на экран в результате выполнения следующего кода:
                public class SomeClass {
                    static int x = 5;
                    public static void main(String[] args) {
                        int x;
                        int y = 5;
                        if (y > 3) x = 1;
                        System.out.println(x);
                    }
                }
            

Ответ:

 (1) 1 

 (2) 3 

 (3) 5 

 (4) предупреждение о потенциальной ошибке 

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


Номер 2
Что будет выведено на экран в результате выполнения следующего кода:
                public class SomeClass {
                    static int x;
                    public static void main(String[] args) {
                        SomeClass s = new SomeClass();
                        s.test(5);
                        System.out.println(x);
                    }
                    private void test(int x) {
                        this.x = x + 5;
                        System.out.print(x);
                    }
                }
            

Ответ:

 (1) 55 

 (2) 510 

 (3) 105 

 (4) 1010 

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


Номер 3
Что будет выведено на экран в результате выполнения следующего кода:
                public class SomeClass {
                    static int x;
                    public static void main(String[] args) {
                        SomeClass s = new SomeClass();
                        s.test(5);
                        System.out.println(x);
                    }
                    private void test(int x) {
                        x = this.x + 5;
                        System.out.print(x);
                    }
                }
            

Ответ:

 (1) 55 

 (2) 510 

 (3) 05 

 (4) 50 

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


Упражнение 2:
Номер 1
Приведенная ниже программа должна вывести на консоль Hello World! Выберите строки, которые нужно
                модифицировать в вашей программе, чтобы получить правильный результат.
                
                1    public class SomeClass {
                2        public static void main(String[] args) {
                3            String[] arr = {"H", "e", "l", "l", "o", " ", "W", "o", "r", "l", "d", "!"};
                4            String result = "";
                5            int i = 0;
                6            ...
                7                System.out.print(arr[i++]);
                8        }
                9    }
                
            

Ответ:

 (1) заменить строку 6 на for(i = 0; i < arr.length;) 

 (2) заменить строку 6 на for(int i = 0; i < arr.length;) 

 (3) заменить строку 6 на for(i = 0; i < arr.length;i++) 

 (4) заменить строку 6 на for(i = 1; i <= arr.length;i++) 


Номер 2
Приведенная ниже программа должна вывести на консоль Hello World! Выберите строки, которые нужно модифицировать в вашей программе, чтобы получить правильный результат.

1    public class SomeClass {
2        public static void main(String[] args) {
3            String[] arr = {"H", "e", "l", "l", "o", " ", "W", "o", "r", "l", "d", "!"};
4            String result = "";
5            int i = 0;
6            ...
7                System.out.print(arr[i]);
8        }
9    }


Ответ:

 (1) заменить строку 6 на for(; i < arr.length;) 

 (2) заменить строку 6 на for(i = 0; i < arr.length;) 

 (3) заменить строку 6 на for(i = 0; i < arr.length; i++) 

 (4) заменить строку 6 на for(i = 0; i < arr.length-1; i++) 


Номер 3
Приведенная ниже программа должна вывести на консоль Hello World! Выберите строки, которые нужно
                модифицировать в вашей программе, чтобы получить правильный результат.
                
                1    public class SomeClass {
                2        public static void main(String[] args) {
                3            String[] arr = {"H", "e", "l", "l", "o", " ", "W", "o", "r", "l", "d", "!"};
                4            String result = "";
                5            int i = 0;
                6            ...
                7                System.out.print(arr[++i]);
                8        }
                9    }
                
            

Ответ:

 (1) заменить строку 6 на for(i = -1; i < arr.length;) 

 (2) заменить строку 6 на for(i = -1; i < arr.length - 1;) 

 (3) заменить строку 6 на for(i = -1; i < arr.length; i++) 

 (4) заменить строку 6 на for(i = -1; i < arr.length - 1; i++)  


Упражнение 3:
Номер 1
Есть следующий код:
                public class SomeClass {
                    public static void main(String[] args) {
                        SomeClass t = new SomeClass();
                        ____
                    }
                    private int check(String x, int n) {
                        if (n == 0) return n;
                        else if (n == 1) {
                            if (x != null) return 5;
                        } else if (n == 2 && x != null) {
                            if (x.equals("YES")) return 3;
                            else if (x.equals("NO")) return 4;
                        }
                        return -1;
                    }
                }
                
                Если вместо знаков подчеркивания поместить код вызова метода check, то какое из предложений будет верным?
            

Ответ:

 (1) t.check("ANY",1), в этом случае функция вернет значение 14 

 (2) t.check("NO",2), в этом случае функция вернет значение 4 

 (3) t.check("YES",1), в этом случае функция вернет значение 3 

 (4) t.check("YES",2), в этом случае функция вернет значение 4 

 (5) t.check("ANY",6), в этом случае функция вернет значение -1 


Номер 2
Есть следующий код:
                public class SomeClass {
                    public static void main(String[] args) {
                        SomeClass t = new SomeClass();
                        ____
                    }
                    private int check(String x, int n) {
                        if (n == 0) return n;
                        else if (n == 1) {
                            if (x != null) return 5;
                        } else if (n == 2 && x != null) {
                            if (x.equals("YES")) return 3;
                            else if (x.equals("NO")) return 4;
                        }
                        return -1;
                    }
                }
                
                Если вместо знаков подчеркивания поместить код вызова метода check, то какое из предложений будет верным?
            

Ответ:

 (1) t.check("ANY",1), в этом случае функция вернет значение 5 

 (2) t.check("NO",2), в этом случае функция вернет значение 3 

 (3) t.check("YES",1), в этом случае функция вернет значение -1 

 (4) t.check("YES",2), в этом случае функция вернет значение 3 

 (5) t.check("ANY",6), в этом случае функция вернет значение -1 


Номер 3
Есть следующий код:
                public class SomeClass {
                    public static void main(String[] args) {
                        SomeClass t = new SomeClass();
                        ____
                    }
                    private int check(String x, int n) {
                        if (n == 0) return n;
                        else if (n == 1) {
                            if (x != null) return 5;
                        } else if (n == 2 && x != null) {
                            if (x.equals("YES")) return 3;
                            else if (x.equals("NO")) return 4;
                        }
                        return -1;
                    }
                }
                
                Если вместо знаков подчеркивания поместить код вызова метода check, то какое из предложений будет верным?
            

Ответ:

 (1) t.check("NO",2), в этом случае функция вернет значение 4 

 (2) t.check("NO",1), в этом случае функция вернет значение 5 

 (3) t.check("ANY",0), в этом случае функция вернет значение -1 

 (4) t.check("YES",3), в этом случае функция вернет значение 3 

 (5) t.check("YES",5), в этом случае функция вернет значение -1 


Упражнение 4:
Номер 1
Что будет выведено на экран в результате выполнения следующего кода:
                public class SomeClass {
                    public static void main(String[] args) {
                        SomeClass t = new SomeClass();
                        t.say(1);
                    }
                    private void say(int digit) {
                        switch (digit) {
                            case 1:
                                System.out.print("1");
                                break;
                            case 2:
                                System.out.print("2");
                            case 3:
                                System.out.print("3");
                            default:
                                System.out.print("Unknown");
                        }
                    }
                }
            

Ответ:

 (1) 1 

 (2) 2 

 (3) 3 

 (4) Unknown 

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


Номер 2
Что будет выведено на экран в результате выполнения следующего кода:
                public class SomeClass {
                    public static void main(String[] args) {
                        SomeClass t = new SomeClass();
                        t.say(2);
                    }
                    private void say(int digit) {
                        switch (digit) {
                            case 1:
                                System.out.print("ONE");
                                break;
                            case 2:
                                System.out.print("TWO");
                            case 3:
                                System.out.print("THREE");
                                break;
                            default:
                                System.out.print("Unknown");
                        }
                    }
                }
            

Ответ:

 (1) ONE 

 (2) TWO 

 (3) THREE 

 (4) ONETWO 

 (5) TWOTHREE 


Номер 3
Что будет выведено на экран в результате выполнения следующего кода:
                public class SomeClass {
                    public static void main(String[] args) {
                        SomeClass t = new SomeClass();
                        t.say(3);
                    }
                    private void say(int digit) {
                        switch (digit) {
                            case 1:
                                System.out.print("ONE");
                                break;
                            case 2:
                                System.out.print("TWO");
                            case 3:
                                System.out.print("THREE");
                            default:
                                System.out.print("Unknown");
                        }
                    }
                }
            

Ответ:

 (1) ONETWO 

 (2) TWO 

 (3) TWOTHREEUnknown 

 (4) THREEUnknown 

 (5) ONETWOTHREEUnknown 


Упражнение 5:
Номер 1
Что будет выведено на экран в результате выполнения следующего кода:
                public class SomeClass {
                    public static void main(String[] args) {
                        int i = 0;
                        while (i < 6) {
                            if (i > 5) i--;
                            if (i < 4) i++;
                            if (i == 5) i++;
                            i++;
                            System.out.print(i);
                        }
                    }
                }
            

Ответ:

 (1) 1234 

 (2) 245 

 (3) 2457 

 (4) 3457 

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


Номер 2
Что будет выведено на экран в результате выполнения следующего кода:
                public class SomeClass {
                    public static void main(String[] args) {
                        int i = 0;
                        do {
                            if (i > 5) i--;
                            if (i < 4) i++;
                            if (i == 5) i++;
                            i++;
                            System.out.print(i);
                        } while (i <= 6);
                    }
                }
            

Ответ:

 (1) 1234 

 (2) 2458 

 (3) 245 

 (4) 2457 

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


Номер 3
Что будет выведено на экран в результате выполнения следующего кода:
                public class SomeClass {
                    public static void main(String[] args) {
                        int i = 0;
                        do {
                            if (i > 5) i--;
                            if (i < 4) i++;
                            if (i == 5) i+=2;
                            i++;
                            System.out.print(i);
                        } while (i <= 5);
                    }
                }
            

Ответ:

 (1) 2457 

 (2) 24578 

 (3) 2458 

 (4) 245 

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


Упражнение 6:
Номер 1
Что будет выведено на экран в результате выполнения следующего кода:
                public class Test {
                    public static void main(String[] args) {
                        Test t = new Test();
                        t.test();
                    }
                    void test() {
                        Test:{
                            test:
                            for (int i = 0; true; i++) {
                                if (i % 2 == 0) continue test;
                                if (i > 10) break Test;
                                System.out.print(i);
                            }
                        }
                    }
                }
            

Ответ:

 (1) 1357 

 (2) 13579 

 (3) 135 

 (4) 1 

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


Номер 2
Что будет выведено на экран в результате выполнения следующего кода:
                public class Test {
                    public static void main(String[] args) {
                        Test t = new Test();
                        t.test();
                    }
                    void test() {
                        Test:{
                            test:
                            for (int i = 0; true; i++) {
                                if (i % 2 == 0) continue test;
                                if (i > 10) break test;
                                System.out.print(i);
                            }
                        }
                    }
                }
            

Ответ:

 (1) 12 

 (2) 123456789 

 (3) 13579 

 (4) 1357 

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


Номер 3
Что будет выведено на экран в результате выполнения следующего кода:
                public class Test {
                    public static void main(String[] args) {
                        Test t = new Test();
                        t.test();
                    }
                    void test() {
                        Test:{
                            test:
                            for (int i = 0; true; i++) {
                                if (i % 2 == 0) continue Test;
                                if (i > 10) break Test;
                                System.out.print(i);
                            }
                        }
                    }
                }
            

Ответ:

 (1) 12 

 (2) 123456789 

 (3) 13579 

 (4) 1357 

 (5) ошибка компиляции 


Упражнение 7:
Номер 1
Есть следующая иерархия наследования:
                
                    java.lang.Object
                    |
                    +--java.lang.Throwable
                        |
                        +--java.lang.Exception
                            |
                            +--java.lang.RuntimeException
                                |
                                +--java.lang.IndexOutOfBoundsException
                                    |
                                    +--java.lang.StringIndexOutOfBoundsException
                                        |
                                        +--java.lang.ArrayIndexOutOfBoundsException
                
                В методе testSomеValue
                могут быть возбуждены исключения StringIndexOutOfBoundsException и
                    ArrayIndexOutOfBoundsException, при этом они не обрабатываются в блокеtry – catch.
                Какое из перечисленных ниже утверждений будет верным?
            

Ответ:

 (1) определение метода testSomеValue должно включатьthrows StringIndexOutOfBoundsException, ArrayIndexOutOfBoundsException  

 (2) если метод, вызывающий testSomeValue, перехватывает IndexOutOfBoundsException, то исключения StringIndexOutOfBoundsException, ArrayIndexOutOfBoundsException тоже будут перехватываться  

 (3) так как в определении метода указано throws StringIndexOutOfBoundsException, ArrayIndexOutOfBoundsException, любой вызывающий его метод должен перехватывать эти типы исключений, вне зависимости от того, возбуждается во время работы исключение или нет  

 (4) при объявлении метода testSomeValue необходимо указывать возбуждаемые исключения 


Номер 2
Есть следующая иерархия наследования:
                
                    java.lang.Object
                    |
                    +--java.lang.Throwable
                        |
                        +--java.lang.Exception
                            |
                            +--java.lang.RuntimeException
                                |
                                +--java.lang.IndexOutOfBoundsException
                                    |
                                    +--java.lang.StringIndexOutOfBoundsException
                                        |
                                        +--java.lang.ArrayIndexOutOfBoundsException
                
                В методе testSomеValue
                могут быть возбуждены исключения StringIndexOutOfBoundsException и
                    ArrayIndexOutOfBoundsException, при этом они не обрабатываются в блокеtry – catch.
                Какое из перечисленных ниже утверждений будет верным?
            

Ответ:

 (1) определение метода testSomеValue должно включатьthrows StringIndexOutOfBoundsException, ArrayIndexOutOfBoundsException  

 (2) если метод, вызывающий testSomeValue, перехватывает StringIndexOutOfBoundsException, то исключение ArrayIndexOutOfBoundsException тоже будет перехватываться  

 (3) так как в определении метода указано throws StringIndexOutOfBoundsException,ArrayIndexOutOfBoundsException, любой вызывающий его метод может перехватывать эти типы исключений, вне зависимости от того, возбуждается во время работы исключение или нет  

 (4) при объявлении метода testSomeValue можно указывать возбуждаемые исключения 


Номер 3
Есть следующая иерархия наследования:
                
                    java.lang.Object
                    |
                    +--java.lang.Throwable
                        |
                        +--java.lang.Exception
                            |
                            +--java.lang.RuntimeException
                                |
                                +--java.lang.IndexOutOfBoundsException
                                    |
                                    +--java.lang.StringIndexOutOfBoundsException
                                        |
                                        +--java.lang.ArrayIndexOutOfBoundsException
                
                В методе testSomеValue
                могут быть возбуждены исключения StringIndexOutOfBoundsException и
                    ArrayIndexOutOfBoundsException, при этом они не обрабатываются в блокеtry – catch.
                Какие из перечисленных ниже утверждений будут верными?
            

Ответ:

 (1) определение метода testSomеValue может включатьthrows StringIndexOutOfBoundsException, ArrayIndexOutOfBoundsException  

 (2) если метод, вызывающий testSomeValue, перехватывает IndexOutOfBoundsException, то исключение StringIndexOutOfBoundsException тоже будет перехватываться  

 (3) так как в определении метода указано throws StringIndexOutOfBoundsException,ArrayIndexOutOfBoundsException, любой вызывающий его метод должен перехватывать эти типы исключений, вне зависимости от того, возбуждается во время работы исключение или нет  

 (4) при объявлении метода testSomeValue надо обязательно указывать возбуждаемые исключения 


Упражнение 8:
Номер 1
Предположим, нам необходимо создать собственную иерархию исключений.
                Рассмотрим следующий пример.
                
                    Exception
                    |
                    +--LengthException
                        |
                        +--TooLongException
                            |
                            +--TooShortException

                    1  class BaseMeasurer{
                    2      int measureLength(Dimension d) throws LengthException{..}
                    3  }
                    4  class DerivedMeasurer extends BaseMeasurer{
                    5      ___ {
                    6      }
                    7 }
                
                Какие из перечисленных ниже выражений можно использовать в строке 5 вместо знаков подчеркивания, чтобы код успешно
                откомпилировался?
            

Ответ:

 (1) int measureLength(Dimension d) throws LengthException  

 (2) int measureLength(Dimension d) throws Exception  

 (3) int measureLength(Dimension d) throws TooLongException  

 (4) int measureLength(Dimension d)  


Номер 2
Предположим, нам необходимо создать собственную иерархию исключений.
                Рассмотрим следующий пример.
                
                    Exception
                    |
                    +--LengthException
                        |
                        +--TooLongException
                            |
                            +--TooShortException

                    1  class BaseMeasurer{
                    2      int measureLength(Dimension d) throws TooLongException{..}
                    3  }
                    4  class DerivedMeasurer extends BaseMeasurer{
                    5      ___ {
                    6      }
                    7 }
                
                Какое из перечисленных ниже выражений можно использовать в строке 5 вместо знаков подчеркивания, чтобы код успешно
                откомпилировался?
            

Ответ:

 (1) int measureLength(Dimension d) throws LengthException  

 (2) int measureLength(Dimension d) throws Exception  

 (3) int measureLength(Dimension d) throws TooLongException  

 (4) int measureLength(Dimension d) throws TooShortException  


Номер 3
Предположим, нам необходимо создать собственную иерархию исключений.
                Рассмотрим следующий пример.
                
                    Exception
                    |
                    +--LengthException
                        |
                        +--TooLongException
                            |
                            +--TooShortException

                    1  class BaseMeasurer{
                    2      int measureLength(Dimension d) throws TooShortException{..}
                    3  }
                    4  class DerivedMeasurer extends BaseMeasurer{
                    5      ___ {
                    6      }
                    7 }
                
                Какое из перечисленных ниже выражений можно использовать в строке 5 вместо знаков подчеркивания, чтобы код успешно
                откомпилировался?
            

Ответ:

 (1) int measureLength(Dimension d) throws TooShortException  

 (2) int measureLength(Dimension d) throws LengthException  

 (3) int measureLength(Dimension d) throws TooLongException  

 (4) int measureLength(Dimension d)  




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