diff --git a/task01/src/com/example/task01/Task01Main.java b/task01/src/com/example/task01/Task01Main.java index 9328b4bb..2fc75865 100644 --- a/task01/src/com/example/task01/Task01Main.java +++ b/task01/src/com/example/task01/Task01Main.java @@ -2,14 +2,14 @@ public class Task01Main { public static void main(String[] args) { - //здесь вы можете вручную протестировать ваше решение, вызывая реализуемый метод и смотря результат - // например вот так: - /* - codeWithNPE(); - */ + String str = codeWithNPE(); + } - static void codeWithNPE() { - //todo напишите здесь свою корректную реализацию этого метода, вместо существующей + static String codeWithNPE() { + String str = null; + System.out.println(str.length()); + return str; } } + diff --git a/task02/src/com/example/task02/Task02Main.java b/task02/src/com/example/task02/Task02Main.java index acc0aeff..a90b1347 100644 --- a/task02/src/com/example/task02/Task02Main.java +++ b/task02/src/com/example/task02/Task02Main.java @@ -3,14 +3,31 @@ public class Task02Main { public static void main(String[] args) { - //здесь вы можете вручную протестировать ваше решение, вызывая реализуемый метод и смотря результат - // например вот так: - /* - System.out.println(getSeason(-5)); - */ + System.out.println(getSeason(13)); + } static String getSeason(int monthNumber) { - return "";//todo напишите здесь свою корректную реализацию этого метода, вместо существующей + + switch (monthNumber) { + case 12: + case 1: + case 2: + return "зима"; + case 3: + case 4: + case 5: + return "весна"; + case 6: + case 7: + case 8: + return "лето"; + case 9: + case 10: + case 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..4097aa7d 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; public class Task03Main { - public static void main(String[] args) { - //здесь вы можете вручную протестировать ваше решение, вызывая реализуемый метод и смотря результат - // например вот так: - /* + public static void main(String[] args) throws Exception { throwCheckedException(); - */ + } //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..e15b14d8 --- /dev/null +++ b/task04/src/com/example/task04/MyException.java @@ -0,0 +1,8 @@ +package com.example.task04; + +public class MyException extends IllegalArgumentException{ + + public MyException(String monthNumber) { + super(monthNumber); + } +} diff --git a/task04/src/com/example/task04/Task04Main.java b/task04/src/com/example/task04/Task04Main.java index f6eae8d8..c78a1e2c 100644 --- a/task04/src/com/example/task04/Task04Main.java +++ b/task04/src/com/example/task04/Task04Main.java @@ -3,15 +3,33 @@ public class Task04Main { public static void main(String[] args) { - //здесь вы можете вручную протестировать ваше решение, вызывая реализуемый метод и смотря результат - // например вот так: - /* + System.out.println(getSeason(-5)); - */ + } static String getSeason(int monthNumber) { - return "";//todo напишите здесь свою корректную реализацию этого метода, вместо существующей + + switch (monthNumber) { + case 12: + case 1: + case 2: + return "зима"; + case 3: + case 4: + case 5: + return "весна"; + case 6: + case 7: + case 8: + return "лето"; + case 9: + case 10: + case 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..243f7c2e 100644 --- a/task05/src/com/example/task05/Task05Main.java +++ b/task05/src/com/example/task05/Task05Main.java @@ -1,15 +1,28 @@ 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" + public static void main(String[] args) { - String s = readFile(pathToFile); - System.out.println(s); + if (args.length == 0) { + System.out.println("Не указан путь к файлу."); + return; + } + + String pathToFile = args[0]; + + try { + String s = readFile(pathToFile); + System.out.println(s); + } catch (FileNotFoundException e) { + System.out.println("файл \"" + pathToFile + "\" не найден"); + } catch (IOException e) { + System.out.println("Произошла ошибка при чтении файла \"" + pathToFile + "\"."); + } } public static String readFile(String pathToFile) throws IOException { diff --git a/task05/src/com/example/task05/Tests.java b/task05/src/com/example/task05/Tests.java index eb15ce79..a29f9017 100644 --- a/task05/src/com/example/task05/Tests.java +++ b/task05/src/com/example/task05/Tests.java @@ -35,7 +35,7 @@ public void testCatchFileNotFound() { try { Task05Main.main(args); String actual = out.toString(); - Assert.assertEquals("файл \"abcd\" не найден\n", actual); + Assert.assertEquals("файл \"abcd\" не найден\r\n", actual); } catch (Exception e) { if (e instanceof IOException) { throw new AssertionError("метод main не должен бросать исключение IOException", e); diff --git a/task06/src/com/example/task06/Task06Main.java b/task06/src/com/example/task06/Task06Main.java index ebb26d82..e06c8fcd 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(); + + String callerMethodName = stackTrace[2].getMethodName(); + + System.out.print(callerMethodName); + } + } \ 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..b025e1f8 100644 --- a/task07/src/com/example/task07/Processor.java +++ b/task07/src/com/example/task07/Processor.java @@ -7,4 +7,4 @@ public Object process() throws Exception { return null; } -} +} \ 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..378f3157 100644 --- a/task07/src/com/example/task07/Task07Main.java +++ b/task07/src/com/example/task07/Task07Main.java @@ -6,19 +6,21 @@ public class Task07Main { 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(); + } catch (RuntimeException exception) { + return UNCHECKED; } catch (Exception e) { - + return CHECKED; } - return null; + return NONE; } } \ No newline at end of file