diff --git a/task01/src/com/example/task01/Task01Main.java b/task01/src/com/example/task01/Task01Main.java index 9328b4bb..ac4b156c 100644 --- a/task01/src/com/example/task01/Task01Main.java +++ b/task01/src/com/example/task01/Task01Main.java @@ -2,14 +2,11 @@ public class Task01Main { public static void main(String[] args) { - //здесь вы можете вручную протестировать ваше решение, вызывая реализуемый метод и смотря результат - // например вот так: - /* codeWithNPE(); - */ } - static void codeWithNPE() { - //todo напишите здесь свою корректную реализацию этого метода, вместо существующей + static void codeWithNPE() throws NullPointerException { + String str = null; + System.out.println(str.substring(0, 2)); } } diff --git a/task02/src/com/example/task02/Task02Main.java b/task02/src/com/example/task02/Task02Main.java index acc0aeff..6d8099a4 100644 --- a/task02/src/com/example/task02/Task02Main.java +++ b/task02/src/com/example/task02/Task02Main.java @@ -3,14 +3,21 @@ public class Task02Main { public static void main(String[] args) { - //здесь вы можете вручную протестировать ваше решение, вызывая реализуемый метод и смотря результат - // например вот так: - /* System.out.println(getSeason(-5)); - */ } - static String getSeason(int monthNumber) { - return "";//todo напишите здесь свою корректную реализацию этого метода, вместо существующей + static String getSeason(int monthNumber) throws IllegalArgumentException { + if (monthNumber <= 0 || monthNumber > 12) + throw new IllegalArgumentException( + String.format("monthNumber %d is invalid, month number should be between 1..12", monthNumber) + ); + else if (monthNumber >= 3 && monthNumber <= 5) + return "весна"; + else if (monthNumber >= 6 && monthNumber <= 8) + return "лето"; + else if (monthNumber >= 9 && monthNumber <= 11) + return "осень"; + else + return "зима"; } } \ 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..49db6019 100644 --- a/task03/src/com/example/task03/Task03Main.java +++ b/task03/src/com/example/task03/Task03Main.java @@ -2,15 +2,10 @@ public class Task03Main { public static void main(String[] args) { - //здесь вы можете вручную протестировать ваше решение, вызывая реализуемый метод и смотря результат - // например вот так: - /* - throwCheckedException(); - */ + //throwCheckedException(); } - //todo напишите здесь свою корректную реализацию задания - public static void throwCheckedException() { - + public static void throwCheckedException() throws Exception { + throw new Exception("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..ec417ac0 --- /dev/null +++ b/task04/src/com/example/task04/MyException.java @@ -0,0 +1,11 @@ +package com.example.task04; + +public class MyException extends IllegalArgumentException { + public MyException () { + + } + + 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..db568453 100644 --- a/task04/src/com/example/task04/Task04Main.java +++ b/task04/src/com/example/task04/Task04Main.java @@ -3,15 +3,22 @@ public class Task04Main { public static void main(String[] args) { - //здесь вы можете вручную протестировать ваше решение, вызывая реализуемый метод и смотря результат - // например вот так: - /* System.out.println(getSeason(-5)); - */ } - static String getSeason(int monthNumber) { - return "";//todo напишите здесь свою корректную реализацию этого метода, вместо существующей + static String getSeason(int monthNumber) throws MyException { + if (monthNumber <= 0 || monthNumber > 12) + throw new MyException( + String.format("monthNumber %d is invalid, month number should be between 1..12", monthNumber) + ); + else if (monthNumber >= 3 && monthNumber <= 5) + return "весна"; + else if (monthNumber >= 6 && monthNumber <= 8) + return "лето"; + else if (monthNumber >= 9 && monthNumber <= 11) + return "осень"; + else + return "зима"; } } \ 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..ed82fae2 100644 --- a/task05/src/com/example/task05/Task05Main.java +++ b/task05/src/com/example/task05/Task05Main.java @@ -3,13 +3,19 @@ import java.io.BufferedReader; import java.io.FileReader; import java.io.IOException; +import java.io.FileNotFoundException; 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 { diff --git a/task06/src/com/example/task06/Task06Main.java b/task06/src/com/example/task06/Task06Main.java index ebb26d82..e36d6348 100644 --- a/task06/src/com/example/task06/Task06Main.java +++ b/task06/src/com/example/task06/Task06Main.java @@ -2,15 +2,11 @@ public class Task06Main { public static void main(String[] args) { - //здесь вы можете вручную протестировать ваше решение, вызывая реализуемый метод и смотря результат - // например вот так: - /* new Task06Main().printMethodName(); - */ } void printMethodName() { - //todo напишите здесь свою корректную реализацию этого метода, вместо существующей + System.out.print(new Exception().getStackTrace()[1].getMethodName()); } } \ 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..07c15e13 100644 --- a/task07/src/com/example/task07/Task07Main.java +++ b/task07/src/com/example/task07/Task07Main.java @@ -12,13 +12,14 @@ public static void main(String[] args) { public Processor processor; public String getExceptionType() { - //todo напишите здесь свою корректную реализацию этого метода, вместо существующей try { - processor.process(); //todo вы можете заменить реализацию этого метода для ручного дебага + processor.process(); + return NONE; + } catch (RuntimeException e) { + return UNCHECKED; } catch (Exception e) { - + return CHECKED; } - return null; } } \ No newline at end of file