Программирование на JAVA
Меню :
Стартовая
Основы программирования
Программирование на JAVA
Программирование на C++
Программирование на Pascal
Задачи по программированию
исключения, должны либо сами их обрабатывать, либо в заголовке метода должно быть указано ключевое слово throws с перечислением необрабатываемых проверяемых исключений. На непроверяемые ошибки это правило не распространяется.
Переопределенный (overridden) метод не может расширять список возможных исключений исходного метода.
Вариант 1
I _ Приведенная ниже программа должна вывести на консоль Hello World! Выберите строки, которые нужно модифицировать в вашей программе, чтобы получить правильный результат.
1 public class Test {
2 public Test() {
3 }
4 public static void main (String [] args) {
5 Test test = new Test();
6 String [] arr = {"Н","е","Г,"Г,"о"," ","w","o","r",'T',"d","!"};
7 String result = "";
8 int i= 0;
9 for(;;;){
10 result+= arr[i++];
11 }
12 System, out. println(result);
13 }
14 }
□ заменить строку 9 на for(i = 0; i < arr.length;){
□ заменить строку 9 на for(int int i = 0; i < arr.length;){
□ заменить строку 9 на for(i = 0; i < arr.length;i++){
□ заменить строку 9 на for(i = 1; i <= arr.length;i++){
Какая строка будет выдана на консоль после выполнения фрагмента кода, приведенного ниже? public class Test { public Test() (
}
public static void main(String[] args) { inti.j;
lab: for(i = 0; i < 6; i++){ for(j = 3;j>1;j«){ if(i ==j){ System.out.printlnf' " + j); break lab;
}
}
□ □ □ □ |
}
2345 234 3 2
1 2 3 4 5 6 7 8 9 10 11 12 13 |
3-
Предположим, нам необходимо создать собственную иерархию исключений. Рассмотрим следующий пример.
Exception
I
+--LengthException
I
+--TooLongException
I
+--TooShort Exception
class BaseMeasurer{ public BaseMeasurer(){
}
int measureLength(Dimension d) throws LengthException{
}
}
class DerivedMeasurer extends BaseMeasurer{ public BaseMeasurer(){
}
XXX {
}
}
Какое из перечисленных ниже выражений можно использовать в строке 11с тем, чтобы код успешно откомпилировался?
□ int measureLength(Dimension d) throws LengthException П int measureLength(Dimension d) throws Exception П int measureLength(Dimension d) throws TooLongException П int measureLength(Dimension d)
курс
Программирование на.Ь,
Вариант 2
1. Каков будет результат выполнения программы:
1 public class Test {
2 public Test() {
3 } 4
5 public static void main(String[] args) {
6 Test test = new Test();
7 int i = 5;
8 while(i = 5){
9 System.out.println(i++); Ю }
11 }
12 }
П компилятор выдаст сообщение об ошибке в строке 8
Г") на консоль будут последовательно выведены значения 01234
[~1 на консоль будут последовательно выведены значения 43210
Г~1 программа откомпилируется, но на консоль ничего выведено не будет
секция Ю Операторы и структура кода. Исключения
2 выберите все правильные варианты ответов в этом примере:
public class Test {
float fVal = 0. Of;
public Test() {
}
public static void main(String[] args) {
Test t = new Test();
String testVal = "0.123";
System.out.println("Was returned " + t.testParse(testVal) + " with value " + t.tVal);
}
private boolean testParse(String val){ try {
fVal = Float. parseFloat(val); return true;
}
catch (NumberFormatException ex) {
System.out.println("Test.testParse() Bad number -> "
+ val);
fVal = Float. NaN; } finally{
System.out.println( "Finally part executed");
}
return false;
}
}
□ testVal="0.123"; Finally part executed Was returned true with value 0.123
П testVal = "0,123"; Finally part executed Was returned false with value 0.123
П testVal = null; Finally part executed
Далее будет вызвано исключение NullPointer
П testVal = "0.123"; Finally part executed Was returned false with value null
3. Предположим, нам необходимо создать собственную иерархию исключений. Рассмотрим следующий пример. Exception
I
+--LengthException
I
+--TooLongException
I
+- - TooShortException
1 class TooShortException extends Exception!
2 public TooShortException(String description){
3 super(description);
4 }
5 } 6
7 class Measurer {
8 public Measurer(){
9 super(); 10 }
11
12 int measureLength(Dimension d) throws LengthException {
13 XXX
14 }
15 }
В строке 13 необходимо вызвать исключение.
Какой из предложенных вариантов будет правильным?
□ new TooShortExceptionC'Shhhhort");
П throws new TooShortExceptionC'Shhhhort");
П throw new TooShortExceptionC'Shhhhort");
П throw TooShortExceptionC'Shhhhort").
Вариант 3
В данном случае выберите все правильные ответы, private void say(int digit) { switch(x){ case 1: System.out.print("ONE");
break;
case 2: System.out.printf TWO'); case 3: System.out.print("TREE"); default:System.out.pritn("Unknown value")
}
}
□ digit = 1 ONE
□ digit = 0 TWO TREE
□ digit = 2 TWO Unknown value
□ digit = 3 TREE Unknown value
2. Рассмотрим пример.
Эти исключения имеют следующую иерархию наследования: StringlndexOutOfBoundsException и ArraylndexOutOfBoundsException
java.lang.Object
I
+--java.lang.Throwable
I
+- -java. lang. Exception
I
+--java.lang.RuntimeException
I
+- -java. lang. IndexOutOf BoundsException
I
+--java.lang.StringlndexOutOf BoundsException
+--java.lang.ArraylndexOutOfBoundsException
Предположим, что в методе testSomeValue могут быть возбуждены оба вида исключений, при этом они не обрабатываются в блоке try - catch.
Какое из перечисленных ниже утверждений будет верным?
Г~1 определение метода testSomeValue должно включать throws StringlndexOutOf BoundsException, ArraylndexOutOfBoundsException
П если метод, вызывающий testSomeValue, перехватывает IndexOutOfBoundsException, то исключения StringlndexOutOf BoundsException,
ArraylndexOutOfBoundsException тоже будут перехватываться
П так как в определении метода указано throws StringlndexOutOf BoundsException,
ArraylndexOutOfBoundsException, любой вызывающий его метод должен перехватывать эти типы исключений, вне зависимости от того, возбуждается во время работы исключение или нет
П при объявлении метода testSomeValue не обязательно указывать возбуждаемые исключения
3. Каков будет результат работы следующего кода: 1 public class Test { 2
3 public Test() {
4 }
5 public static void main(String[] args) {
6 Test t = new Test();
7 XXX
8 }
9 private int check(String x,int n){
10 if( n ==0 )return n;
11 elseif(n== 1){
12 if (x != null) return 5;
13 }
14 else if (n==2&&x!=null){
15 if (x.equals("YES"» return 3;
16 else if ( x.equals("NO")) return 4;
17 }
18 return-1;
19 }
20 }
Если в строке 7 поместить код вызова метода check, то какое из предложений будет верным?
П t.check("ANY",1) в этом случае обязательно будет выполнена строка 14
Г~| t.check("NO",2) в этом случае функция вернет значение 4 П t.checkfYES", 1) в этом случае функция вернет значение 3 Г~! else в строке 14 относится к if в строке 11