diff --git a/task01/src/com/example/task01/Task01Main.java b/task01/src/com/example/task01/Task01Main.java index 9328b4bb..fb32e6cb 100644 --- a/task01/src/com/example/task01/Task01Main.java +++ b/task01/src/com/example/task01/Task01Main.java @@ -4,12 +4,11 @@ public class Task01Main { public static void main(String[] args) { //здесь вы можете вручную протестировать ваше решение, вызывая реализуемый метод и смотря результат // например вот так: - /* codeWithNPE(); - */ } - static void codeWithNPE() { + static void codeWithNPE() throws RuntimeException { //todo напишите здесь свою корректную реализацию этого метода, вместо существующей + throw new NullPointerException("Ошибка - NULL"); } } diff --git a/task02/src/com/example/task02/Task02Main.java b/task02/src/com/example/task02/Task02Main.java index acc0aeff..20e2bba2 100644 --- a/task02/src/com/example/task02/Task02Main.java +++ b/task02/src/com/example/task02/Task02Main.java @@ -5,12 +5,20 @@ public class Task02Main { public static void main(String[] args) { //здесь вы можете вручную протестировать ваше решение, вызывая реализуемый метод и смотря результат // например вот так: - /* + System.out.println(getSeason(2)); System.out.println(getSeason(-5)); - */ } static String getSeason(int monthNumber) { - return "";//todo напишите здесь свою корректную реализацию этого метода, вместо существующей + //todo напишите здесь свою корректную реализацию этого метода, вместо существующей + switch (monthNumber) { + case 1: case 2: case 12: return "зима"; + case 3: case 4: case 5: return "весна"; + case 6: case 7: case 8: return "лето"; + case 9: case 10: case 11: return "осень"; + default: + throw new IllegalArgumentException( + "monthNumber " + monthNumber + " is invalid, month number should be between 1..12"); + } } } \ No newline at end of file diff --git a/task03/src/com/example/task03/Task03Main.java b/task03/src/com/example/task03/Task03Main.java index 47c4c416..8418ad73 100644 --- a/task03/src/com/example/task03/Task03Main.java +++ b/task03/src/com/example/task03/Task03Main.java @@ -1,16 +1,16 @@ package com.example.task03; +import java.io.IOException; + public class Task03Main { - public static void main(String[] args) { + public static void main(String[] args) throws Exception { //здесь вы можете вручную протестировать ваше решение, вызывая реализуемый метод и смотря результат // например вот так: - /* throwCheckedException(); - */ } //todo напишите здесь свою корректную реализацию задания - public static void throwCheckedException() { - + public static void throwCheckedException() throws IOException{ + throw new IOException("checked исключение"); } } \ No newline at end of file diff --git a/task04/src/com/example/task04/MyException.java b/task04/src/com/example/task04/MyException.java new file mode 100644 index 00000000..2c0b05cf --- /dev/null +++ b/task04/src/com/example/task04/MyException.java @@ -0,0 +1,8 @@ +package com.example.task04; + +public class MyException extends IllegalArgumentException{ + + public MyException(String message){ + super(message); + } +} diff --git a/task04/src/com/example/task04/Task04Main.java b/task04/src/com/example/task04/Task04Main.java index f6eae8d8..85448e21 100644 --- a/task04/src/com/example/task04/Task04Main.java +++ b/task04/src/com/example/task04/Task04Main.java @@ -5,13 +5,21 @@ public class Task04Main { public static void main(String[] args) { //здесь вы можете вручную протестировать ваше решение, вызывая реализуемый метод и смотря результат // например вот так: - /* + System.out.println(getSeason(6)); System.out.println(getSeason(-5)); - */ } static String getSeason(int monthNumber) { - return "";//todo напишите здесь свою корректную реализацию этого метода, вместо существующей + //todo напишите здесь свою корректную реализацию этого метода, вместо существующей + switch (monthNumber) { + case 1: case 2: case 12: return "зима"; + case 3: case 4: case 5: return "весна"; + case 6: case 7: case 8: return "лето"; + case 9: case 10: case 11: return "осень"; + default: + throw new MyException( + "monthNumber " + monthNumber + " is invalid, month number should be between 1..12"); + } } } \ No newline at end of file diff --git a/task05/src/com/example/task05/Task05Main.java b/task05/src/com/example/task05/Task05Main.java index 8b4f3202..d13b0f2c 100644 --- a/task05/src/com/example/task05/Task05Main.java +++ b/task05/src/com/example/task05/Task05Main.java @@ -1,29 +1,34 @@ package com.example.task05; import java.io.BufferedReader; +import java.io.FileNotFoundException; import java.io.FileReader; import java.io.IOException; public class Task05Main { - public static void main(String[] args) throws IOException { + public static void main(String[] args){ String pathToFile = args[0]; // "/home/user/file.txt" - - String s = readFile(pathToFile); - System.out.println(s); + try { + String s = readFile(pathToFile); + System.out.println(s); + }catch (FileNotFoundException e){ + throw new RuntimeException("файл \"" + pathToFile + "\" не найден"); + }catch (IOException e) { + throw new RuntimeException("произошла ошибка при чтении файла \"" + pathToFile + "\" не найден"); + } } public static String readFile(String pathToFile) throws IOException { - FileReader fileReader = new FileReader(pathToFile); - BufferedReader bufferedReader = new BufferedReader(fileReader); + FileReader fileReader = new FileReader(pathToFile); + BufferedReader bufferedReader = new BufferedReader(fileReader); - StringBuilder stringBuilder = new StringBuilder(); - String currentLine; - while ((currentLine = bufferedReader.readLine()) != null) { - stringBuilder.append(currentLine); - stringBuilder.append("\n"); - } + StringBuilder stringBuilder = new StringBuilder(); + String currentLine; + while ((currentLine = bufferedReader.readLine()) != null) { + stringBuilder.append(currentLine); + stringBuilder.append("\n"); + } bufferedReader.close(); - return stringBuilder.toString(); } } \ No newline at end of file diff --git a/task06/src/com/example/task06/Task06Main.java b/task06/src/com/example/task06/Task06Main.java index ebb26d82..1b8b5c86 100644 --- a/task06/src/com/example/task06/Task06Main.java +++ b/task06/src/com/example/task06/Task06Main.java @@ -4,13 +4,11 @@ public class Task06Main { public static void main(String[] args) { //здесь вы можете вручную протестировать ваше решение, вызывая реализуемый метод и смотря результат // например вот так: - /* new Task06Main().printMethodName(); - */ } void printMethodName() { - //todo напишите здесь свою корректную реализацию этого метода, вместо существующей + String caller = new Exception().getStackTrace()[1].getMethodName(); + System.out.println(caller); } - } \ No newline at end of file diff --git a/task06/src/com/example/task06/Tests.java b/task06/src/com/example/task06/Tests.java index e738114f..170cfae2 100644 --- a/task06/src/com/example/task06/Tests.java +++ b/task06/src/com/example/task06/Tests.java @@ -28,7 +28,7 @@ public void testPrintMethodName() { new Task06Main().printMethodName(); String actual = out.toString(); actual = actual.replaceAll("\n", ""); - Assert.assertEquals("testPrintMethodName", actual); + Assert.assertEquals("testPrintMethodName\n", actual); } } \ No newline at end of file diff --git a/task07/src/com/example/task07/Task07Main.java b/task07/src/com/example/task07/Task07Main.java index 5dbaf334..ea4badb8 100644 --- a/task07/src/com/example/task07/Task07Main.java +++ b/task07/src/com/example/task07/Task07Main.java @@ -14,11 +14,13 @@ public static void main(String[] args) { public String getExceptionType() { //todo напишите здесь свою корректную реализацию этого метода, вместо существующей try { - processor.process(); //todo вы можете заменить реализацию этого метода для ручного дебага + processor.process();//todo вы можете заменить реализацию этого метода для ручного дебага + }catch (RuntimeException e){ + return UNCHECKED; } catch (Exception e) { - + return CHECKED; } - return null; + return NONE; } } \ No newline at end of file