diff --git a/task01/src/com/example/task01/Task01Main.java b/task01/src/com/example/task01/Task01Main.java index 9328b4bb..e852db48 100644 --- a/task01/src/com/example/task01/Task01Main.java +++ b/task01/src/com/example/task01/Task01Main.java @@ -2,14 +2,13 @@ public class Task01Main { public static void main(String[] args) { - //здесь вы можете вручную протестировать ваше решение, вызывая реализуемый метод и смотря результат - // например вот так: - /* + codeWithNPE(); - */ + } static void codeWithNPE() { - //todo напишите здесь свою корректную реализацию этого метода, вместо существующей + String str = null; + System.out.println(str.length()); } } diff --git a/task02/src/com/example/task02/Task02Main.java b/task02/src/com/example/task02/Task02Main.java index acc0aeff..a890e42b 100644 --- a/task02/src/com/example/task02/Task02Main.java +++ b/task02/src/com/example/task02/Task02Main.java @@ -1,16 +1,23 @@ package com.example.task02; +import java.rmi.MarshalledObject; + public class Task02Main { public static void main(String[] args) { - //здесь вы можете вручную протестировать ваше решение, вызывая реализуемый метод и смотря результат - // например вот так: - /* + System.out.println(getSeason(-5)); - */ + } static String getSeason(int monthNumber) { - return "";//todo напишите здесь свою корректную реализацию этого метода, вместо существующей + switch (monthNumber) + { + case 12,1,2 -> { return "зима";} + case 3,4,5 -> { return "весна";} + case 6,7,8 -> { return "лето";} + case 9,10,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..a2387997 100644 --- a/task03/src/com/example/task03/Task03Main.java +++ b/task03/src/com/example/task03/Task03Main.java @@ -1,5 +1,9 @@ package com.example.task03; +import java.io.FileNotFoundException; +import java.io.FileReader; +import java.io.IOException; + public class Task03Main { public static void main(String[] args) { //здесь вы можете вручную протестировать ваше решение, вызывая реализуемый метод и смотря результат @@ -10,7 +14,7 @@ public static void main(String[] args) { } //todo напишите здесь свою корректную реализацию задания - public static void throwCheckedException() { - + public static void throwCheckedException() throws IOException{ + FileReader file = new FileReader("checkedException.txt"); } } \ 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..d2c19a60 --- /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..3b06b425 100644 --- a/task04/src/com/example/task04/Task04Main.java +++ b/task04/src/com/example/task04/Task04Main.java @@ -11,7 +11,14 @@ public static void main(String[] args) { } static String getSeason(int monthNumber) { - return "";//todo напишите здесь свою корректную реализацию этого метода, вместо существующей + switch (monthNumber) + { + case 12,1,2 -> { return "зима";} + case 3,4,5 -> { return "весна";} + case 6,7,8 -> { return "лето";} + case 9,10,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..37e04019 100644 --- a/task05/src/com/example/task05/Task05Main.java +++ b/task05/src/com/example/task05/Task05Main.java @@ -2,16 +2,29 @@ import java.io.BufferedReader; import java.io.FileReader; +import java.io.FileNotFoundException; 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 ex) + { + String message = String.format("файл \"%s\" не найден\n", pathToFile); + System.out.print(message); + } catch (IOException ex) + { + String message = String.format("произошла ошибка при чтении файла \"%s\"\n", pathToFile); + System.out.print(message); + } } + public static String readFile(String pathToFile) throws IOException { FileReader fileReader = new FileReader(pathToFile); BufferedReader bufferedReader = new BufferedReader(fileReader); diff --git a/task06/src/com/example/task06/Task06Main.java b/task06/src/com/example/task06/Task06Main.java index ebb26d82..6faed8bd 100644 --- a/task06/src/com/example/task06/Task06Main.java +++ b/task06/src/com/example/task06/Task06Main.java @@ -2,15 +2,17 @@ public class Task06Main { public static void main(String[] args) { - //здесь вы можете вручную протестировать ваше решение, вызывая реализуемый метод и смотря результат - // например вот так: - /* + new Task06Main().printMethodName(); - */ + } void printMethodName() { - //todo напишите здесь свою корректную реализацию этого метода, вместо существующей + { + StackTraceElement[] stackName = Thread.currentThread().getStackTrace(); + String name = stackName[2].getMethodName(); + System.out.print(name); + } } } \ 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..ee25fb78 100644 --- a/task07/src/com/example/task07/Task07Main.java +++ b/task07/src/com/example/task07/Task07Main.java @@ -12,13 +12,15 @@ public static void main(String[] args) { public Processor processor; public String getExceptionType() { - //todo напишите здесь свою корректную реализацию этого метода, вместо существующей try { - processor.process(); //todo вы можете заменить реализацию этого метода для ручного дебага - } catch (Exception e) { - + processor.process(); + } catch (Exception e) + { + if(e instanceof RuntimeException) + return "unchecked"; + return "checked"; } - return null; + return "none"; } } \ No newline at end of file