diff --git a/task01/src/com/example/task01/Task01Main.java b/task01/src/com/example/task01/Task01Main.java index 9328b4bb..bda9424c 100644 --- a/task01/src/com/example/task01/Task01Main.java +++ b/task01/src/com/example/task01/Task01Main.java @@ -10,6 +10,6 @@ public static void main(String[] args) { } static void codeWithNPE() { - //todo напишите здесь свою корректную реализацию этого метода, вместо существующей + throw new NullPointerException(); } } diff --git a/task02/src/com/example/task02/Task02Main.java b/task02/src/com/example/task02/Task02Main.java index acc0aeff..9b2eaa2c 100644 --- a/task02/src/com/example/task02/Task02Main.java +++ b/task02/src/com/example/task02/Task02Main.java @@ -1,16 +1,24 @@ package com.example.task02; +import java.util.ArrayList; +import java.util.Arrays; + public class Task02Main { public static void main(String[] args) { - //здесь вы можете вручную протестировать ваше решение, вызывая реализуемый метод и смотря результат - // например вот так: - /* - System.out.println(getSeason(-5)); - */ + try { + System.out.println(getSeason(1234)); + } catch (Exception e) { + System.out.println(e.getMessage()); + } } static String getSeason(int monthNumber) { - return "";//todo напишите здесь свою корректную реализацию этого метода, вместо существующей + if (monthNumber < 1 || monthNumber > 12) + throw new IllegalArgumentException(String.format("monthNumber %d is invalid, month number should be between 1..12", monthNumber)); + if (monthNumber >= 3 && monthNumber <= 5) return "весна"; + if (monthNumber >= 6 && monthNumber <= 8) return "лето"; + if (monthNumber >= 9 && monthNumber <= 11) return "осень"; + 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..72679285 100644 --- a/task03/src/com/example/task03/Task03Main.java +++ b/task03/src/com/example/task03/Task03Main.java @@ -9,8 +9,7 @@ public static void main(String[] args) { */ } - //todo напишите здесь свою корректную реализацию задания - public static void throwCheckedException() { - + public static void throwCheckedException() throws Exception { + throw new Exception(); } } \ 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..ff170319 --- /dev/null +++ b/task04/src/com/example/task04/MyException.java @@ -0,0 +1,7 @@ +package com.example.task04; + +public class MyException extends IllegalArgumentException { + public MyException(String message) { + super(message); + } +} \ No newline at end of file diff --git a/task04/src/com/example/task04/Task04Main.java b/task04/src/com/example/task04/Task04Main.java index f6eae8d8..d74cf448 100644 --- a/task04/src/com/example/task04/Task04Main.java +++ b/task04/src/com/example/task04/Task04Main.java @@ -3,15 +3,19 @@ public class Task04Main { public static void main(String[] args) { - //здесь вы можете вручную протестировать ваше решение, вызывая реализуемый метод и смотря результат - // например вот так: - /* - System.out.println(getSeason(-5)); - */ + try { + System.out.println(getSeason(-5)); + } catch (Exception e) { + System.out.println(e.getMessage()); + } } static String getSeason(int monthNumber) { - return "";//todo напишите здесь свою корректную реализацию этого метода, вместо существующей + if (monthNumber < 1 || monthNumber > 12) + throw new MyException(String.format("monthNumber %d is invalid, month number should be between 1..12", monthNumber)); + if (monthNumber >= 3 && monthNumber <= 5) return "весна"; + if (monthNumber >= 6 && monthNumber <= 8) return "лето"; + if (monthNumber >= 9 && monthNumber <= 11) return "осень"; + 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..356ec805 100644 --- a/task05/src/com/example/task05/Task05Main.java +++ b/task05/src/com/example/task05/Task05Main.java @@ -1,15 +1,21 @@ 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) { + System.out.printf("файл \"%s\" не найден\n", pathToFile); + } catch (IOException e) { + System.out.printf("произошла ошибка при чтении файла \"%s\"", 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..5b8c2641 100644 --- a/task06/src/com/example/task06/Task06Main.java +++ b/task06/src/com/example/task06/Task06Main.java @@ -1,5 +1,6 @@ package com.example.task06; + public class Task06Main { public static void main(String[] args) { //здесь вы можете вручную протестировать ваше решение, вызывая реализуемый метод и смотря результат @@ -10,7 +11,9 @@ public static void main(String[] args) { } void printMethodName() { - //todo напишите здесь свою корректную реализацию этого метода, вместо существующей + StackTraceElement[] stackTrace = Thread.currentThread().getStackTrace(); + String methodName = stackTrace[2].getMethodName(); + System.out.print(methodName); } } \ No newline at end of file diff --git a/task07/src/com/example/task07/Processor.java b/task07/src/com/example/task07/Processor.java index 7649d783..f9895b94 100644 --- a/task07/src/com/example/task07/Processor.java +++ b/task07/src/com/example/task07/Processor.java @@ -3,8 +3,7 @@ public class Processor { public Object process() throws Exception { - //todo вы можете заменить реализацию этого метода для ручного дебага - return null; + return "none"; } } diff --git a/task07/src/com/example/task07/Task07Main.java b/task07/src/com/example/task07/Task07Main.java index 5dbaf334..82bf5f50 100644 --- a/task07/src/com/example/task07/Task07Main.java +++ b/task07/src/com/example/task07/Task07Main.java @@ -12,13 +12,16 @@ public static void main(String[] args) { public Processor processor; public String getExceptionType() { - //todo напишите здесь свою корректную реализацию этого метода, вместо существующей - try { - processor.process(); //todo вы можете заменить реализацию этого метода для ручного дебага - } catch (Exception e) { + try { + processor.process(); + } catch (RuntimeException e) { + return UNCHECKED; + } + catch (Exception e) { + return CHECKED; } - return null; + return NONE; } } \ No newline at end of file