From e8d4039820c545f8e1ab50ee77206c589257b3f1 Mon Sep 17 00:00:00 2001 From: riht7405 Date: Tue, 25 Nov 2025 05:25:50 +0500 Subject: [PATCH] =?UTF-8?q?=D0=94=D0=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- task01/src/com/example/task01/Task01Main.java | 6 +++-- task02/src/com/example/task02/Task02Main.java | 19 +++++++++------ task03/src/com/example/task03/Task03Main.java | 13 ++++------ .../src/com/example/task04/MyException.java | 7 ++++++ task04/src/com/example/task04/Task04Main.java | 24 +++++++++++++------ task05/src/com/example/task05/Task05Main.java | 15 ++++++++---- task06/src/com/example/task06/Task06Main.java | 16 ++++++++----- task07/src/com/example/task07/Processor.java | 1 - task07/src/com/example/task07/Task07Main.java | 14 ++++------- 9 files changed, 71 insertions(+), 44 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..20b4afdb 100644 --- a/task01/src/com/example/task01/Task01Main.java +++ b/task01/src/com/example/task01/Task01Main.java @@ -10,6 +10,8 @@ public static void main(String[] args) { } static void codeWithNPE() { - //todo напишите здесь свою корректную реализацию этого метода, вместо существующей + String str = null; + // Вызов метода на null-объекте вызовет NullPointerException + str.length(); } -} +} \ No newline at end of file diff --git a/task02/src/com/example/task02/Task02Main.java b/task02/src/com/example/task02/Task02Main.java index acc0aeff..96b3d0ae 100644 --- a/task02/src/com/example/task02/Task02Main.java +++ b/task02/src/com/example/task02/Task02Main.java @@ -1,16 +1,21 @@ package com.example.task02; public class Task02Main { - public static void main(String[] args) { - //здесь вы можете вручную протестировать ваше решение, вызывая реализуемый метод и смотря результат - // например вот так: - /* - System.out.println(getSeason(-5)); - */ + // Пример тестирования + // System.out.println(getSeason(-5)); } static String getSeason(int monthNumber) { - return "";//todo напишите здесь свою корректную реализацию этого метода, вместо существующей + if (monthNumber < 1 || monthNumber > 12) { + throw new IllegalArgumentException( + "monthNumber " + monthNumber + " is invalid, month number should be between 1..12" + ); + } + + if (monthNumber == 12 || monthNumber <= 2) return "зима"; + if (monthNumber <= 5) return "весна"; + if (monthNumber <= 8) 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..b8c46baf 100644 --- a/task03/src/com/example/task03/Task03Main.java +++ b/task03/src/com/example/task03/Task03Main.java @@ -1,16 +1,13 @@ package com.example.task03; +import java.io.IOException; + public class Task03Main { public static void main(String[] args) { - //здесь вы можете вручную протестировать ваше решение, вызывая реализуемый метод и смотря результат - // например вот так: - /* - throwCheckedException(); - */ - } - //todo напишите здесь свою корректную реализацию задания - public static void throwCheckedException() { + } + public static void throwCheckedException() throws IOException { + throw new IOException("Checked exception occurred"); } } \ 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..b900eb16 100644 --- a/task04/src/com/example/task04/Task04Main.java +++ b/task04/src/com/example/task04/Task04Main.java @@ -3,15 +3,25 @@ public class Task04Main { public static void main(String[] args) { - //здесь вы можете вручную протестировать ваше решение, вызывая реализуемый метод и смотря результат - // например вот так: - /* - System.out.println(getSeason(-5)); - */ + + try { + System.out.println(getSeason(-5)); + } catch (MyException e) { + System.out.println(e.getMessage()); + } + } static String getSeason(int monthNumber) { - return "";//todo напишите здесь свою корректную реализацию этого метода, вместо существующей - } + if (monthNumber < 1 || monthNumber > 12) { + throw new MyException( + "monthNumber " + monthNumber + " is invalid, month number should be between 1..12" + ); + } + if (monthNumber == 12 || monthNumber <= 2) return "зима"; + if (monthNumber <= 5) return "весна"; + if (monthNumber <= 8) 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..14eea6cf 100644 --- a/task05/src/com/example/task05/Task05Main.java +++ b/task05/src/com/example/task05/Task05Main.java @@ -3,13 +3,20 @@ 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 { - String pathToFile = args[0]; // "/home/user/file.txt" + public static void main(String[] args) { + String pathToFile = args[0]; - String s = readFile(pathToFile); - System.out.println(s); + try { + String s = readFile(pathToFile); + System.out.print(s); + } catch (FileNotFoundException e) { + System.out.print("файл \"" + pathToFile + "\" не найден\n"); + } catch (IOException e) { + System.out.print("произошла ошибка при чтении файла \"" + pathToFile + "\"\n"); + } } 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..ef7e2bd7 100644 --- a/task06/src/com/example/task06/Task06Main.java +++ b/task06/src/com/example/task06/Task06Main.java @@ -2,15 +2,19 @@ public class Task06Main { public static void main(String[] args) { - //здесь вы можете вручную протестировать ваше решение, вызывая реализуемый метод и смотря результат - // например вот так: - /* + new Task06Main().printMethodName(); - */ + } void printMethodName() { - //todo напишите здесь свою корректную реализацию этого метода, вместо существующей + StackTraceElement[] stackTrace = Thread.currentThread().getStackTrace(); + for (int i = 1; i < stackTrace.length; i++) { + String className = stackTrace[i].getClassName(); + if (!className.equals(Task06Main.class.getName())) { + System.out.print(stackTrace[i].getMethodName()); + return; + } + } } - } \ 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..a988287b 100644 --- a/task07/src/com/example/task07/Processor.java +++ b/task07/src/com/example/task07/Processor.java @@ -3,7 +3,6 @@ public class Processor { public Object process() throws Exception { - //todo вы можете заменить реализацию этого метода для ручного дебага return null; } diff --git a/task07/src/com/example/task07/Task07Main.java b/task07/src/com/example/task07/Task07Main.java index 5dbaf334..cf864e8a 100644 --- a/task07/src/com/example/task07/Task07Main.java +++ b/task07/src/com/example/task07/Task07Main.java @@ -1,24 +1,20 @@ package com.example.task07; public class Task07Main { - public static final String CHECKED = "checked"; public static final String UNCHECKED = "unchecked"; public static final String NONE = "none"; - 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