From e3030f4e2244d3a04460492fea4d25350819b08d Mon Sep 17 00:00:00 2001 From: glebkuzmenkov Date: Mon, 20 Oct 2025 21:45:59 +0300 Subject: [PATCH] HW --- task01/src/com/example/task01/Task01Main.java | 6 ++++-- task02/src/com/example/task02/Task02Main.java | 11 ++++++++++- task03/src/com/example/task03/Task03Main.java | 4 ++-- task04/src/com/example/task04/MyException.java | 7 +++++++ task04/src/com/example/task04/Task04Main.java | 12 +++++++++++- task05/src/com/example/task05/Task05Main.java | 11 +++++++++-- task06/src/com/example/task06/Task06Main.java | 6 +++++- task07/build.gradle | 2 +- task07/src/com/example/task07/Processor.java | 3 ++- task07/src/com/example/task07/Task07Main.java | 11 +++++++---- task07/src/com/example/task07/Tests.java | 2 +- 11 files changed, 59 insertions(+), 16 deletions(-) create mode 100644 task04/src/com/example/task04/MyException.java diff --git a/task01/src/com/example/task01/Task01Main.java b/task01/src/com/example/task01/Task01Main.java index 9328b4bb..94340fb7 100644 --- a/task01/src/com/example/task01/Task01Main.java +++ b/task01/src/com/example/task01/Task01Main.java @@ -4,12 +4,14 @@ public class Task01Main { public static void main(String[] args) { //здесь вы можете вручную протестировать ваше решение, вызывая реализуемый метод и смотря результат // например вот так: - /* + codeWithNPE(); - */ + } static void codeWithNPE() { //todo напишите здесь свою корректную реализацию этого метода, вместо существующей + Object nullObj = null; + nullObj.toString(); } } diff --git a/task02/src/com/example/task02/Task02Main.java b/task02/src/com/example/task02/Task02Main.java index acc0aeff..8b2ed4f6 100644 --- a/task02/src/com/example/task02/Task02Main.java +++ b/task02/src/com/example/task02/Task02Main.java @@ -11,6 +11,15 @@ public static void main(String[] args) { } static String getSeason(int monthNumber) { - return "";//todo напишите здесь свою корректную реализацию этого метода, вместо существующей + if ((monthNumber == 12) || (monthNumber >= 1 && monthNumber <= 2)) + return "зима"; + if (monthNumber >= 3 && monthNumber <= 5) + return "весна"; + if (monthNumber >= 6 && monthNumber <= 8) + return "лето"; + if (monthNumber >= 9 & monthNumber <= 11) + return "осень"; + //return ""; + 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..be53cdc0 100644 --- a/task03/src/com/example/task03/Task03Main.java +++ b/task03/src/com/example/task03/Task03Main.java @@ -10,7 +10,7 @@ public static void main(String[] args) { } //todo напишите здесь свою корректную реализацию задания - public static void throwCheckedException() { - + public static void throwCheckedException() throws Exception { + throw new Exception("checkedException"); } } \ 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..40fa5efd --- /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); + } +} diff --git a/task04/src/com/example/task04/Task04Main.java b/task04/src/com/example/task04/Task04Main.java index f6eae8d8..35792c6f 100644 --- a/task04/src/com/example/task04/Task04Main.java +++ b/task04/src/com/example/task04/Task04Main.java @@ -11,7 +11,17 @@ public static void main(String[] args) { } static String getSeason(int monthNumber) { - return "";//todo напишите здесь свою корректную реализацию этого метода, вместо существующей + if ((monthNumber == 12) || (monthNumber >= 1 && monthNumber <= 2)) + return "зима"; + if (monthNumber >= 3 && monthNumber <= 5) + return "весна"; + if (monthNumber >= 6 && monthNumber <= 8) + return "лето"; + if (monthNumber >= 9 & monthNumber <= 11) + return "осень"; + //return ""; + 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..74b7ad8e 100644 --- a/task05/src/com/example/task05/Task05Main.java +++ b/task05/src/com/example/task05/Task05Main.java @@ -1,15 +1,22 @@ 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 { String pathToFile = args[0]; // "/home/user/file.txt" + 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); + } - String s = readFile(pathToFile); - System.out.println(s); } 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..d28deb9b 100644 --- a/task06/src/com/example/task06/Task06Main.java +++ b/task06/src/com/example/task06/Task06Main.java @@ -10,7 +10,11 @@ public static void main(String[] args) { } void printMethodName() { - //todo напишите здесь свою корректную реализацию этого метода, вместо существующей + try { + throw new RuntimeException(); + }catch (RuntimeException e){ + System.out.println(e.getStackTrace()[1].getMethodName()); + } } } \ No newline at end of file diff --git a/task07/build.gradle b/task07/build.gradle index 577374e5..9ef6bbb6 100644 --- a/task07/build.gradle +++ b/task07/build.gradle @@ -1,4 +1,4 @@ dependencies { - // https://mvnrepository.com/artifact/org.mockito/mockito-core + //https://mvnrepository.com/artifact/org.mockito/mockito-core implementation group: 'org.mockito', name: 'mockito-core', version: '2.23.0' } \ 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..e1338f6b 100644 --- a/task07/src/com/example/task07/Processor.java +++ b/task07/src/com/example/task07/Processor.java @@ -4,7 +4,8 @@ public class Processor { public Object process() throws Exception { //todo вы можете заменить реализацию этого метода для ручного дебага - return null; + throw new Exception(); + //return null; } } diff --git a/task07/src/com/example/task07/Task07Main.java b/task07/src/com/example/task07/Task07Main.java index 5dbaf334..f5253612 100644 --- a/task07/src/com/example/task07/Task07Main.java +++ b/task07/src/com/example/task07/Task07Main.java @@ -14,11 +14,14 @@ public static void main(String[] args) { public String getExceptionType() { //todo напишите здесь свою корректную реализацию этого метода, вместо существующей try { - processor.process(); //todo вы можете заменить реализацию этого метода для ручного дебага - } catch (Exception e) { - + processor.process(); + return "none"; + } catch (Error | RuntimeException e) { + return "unchecked"; + }catch (Exception e){ + return "checked"; } - return null; + //return null; } } \ No newline at end of file diff --git a/task07/src/com/example/task07/Tests.java b/task07/src/com/example/task07/Tests.java index 1f57d044..f1b04c05 100644 --- a/task07/src/com/example/task07/Tests.java +++ b/task07/src/com/example/task07/Tests.java @@ -1,7 +1,7 @@ package com.example.task07; import org.junit.Assert; -import org.junit.Test; +import org.junit.jupiter.api.Test; import org.mockito.Mockito; import java.io.IOException;