diff --git a/task01/src/com/example/task01/Task01Main.java b/task01/src/com/example/task01/Task01Main.java index 9328b4bb..4d908956 100644 --- a/task01/src/com/example/task01/Task01Main.java +++ b/task01/src/com/example/task01/Task01Main.java @@ -1,15 +1,15 @@ package com.example.task01; -public class Task01Main { - public static void main(String[] args) { - //здесь вы можете вручную протестировать ваше решение, вызывая реализуемый метод и смотря результат - // например вот так: - /* +public class Task01Main +{ + public static void main(String[] args) + { codeWithNPE(); - */ } - static void codeWithNPE() { - //todo напишите здесь свою корректную реализацию этого метода, вместо существующей + static void codeWithNPE() + { + codeWithNPE entity = new codeWithNPE(); + entity.execute(); } } diff --git a/task01/src/com/example/task01/codeWithNPE.java b/task01/src/com/example/task01/codeWithNPE.java new file mode 100644 index 00000000..167baf6d --- /dev/null +++ b/task01/src/com/example/task01/codeWithNPE.java @@ -0,0 +1,9 @@ +package com.example.task01; + +public class codeWithNPE { + int[] _data; + public void execute(){ + System.out.println(_data[0]); + } + +} \ 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..6ad038a5 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; -public class Task02Main { - - public static void main(String[] args) { - //здесь вы можете вручную протестировать ваше решение, вызывая реализуемый метод и смотря результат - // например вот так: - /* - System.out.println(getSeason(-5)); - */ +public class Task02Main +{ + public static void main(String[] args) + { + System.out.println(getSeason(5)); } - static String getSeason(int monthNumber) { - return "";//todo напишите здесь свою корректную реализацию этого метода, вместо существующей + static String getSeason(int monthNumber) + { + if (monthNumber > 0 && monthNumber < 3 || monthNumber == 12) + return "зима"; + else if (monthNumber > 2 && monthNumber < 6) + return "весна"; + else if (monthNumber > 5 && monthNumber < 9) + return "лето"; + else if (monthNumber > 8 && monthNumber < 12) + return "осень"; + else + throw new IllegalArgumentException(String.format("monthNumber %d is invalid, month number should be between 1..12", monthNumber)); } } \ 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..dc56ddc9 100644 --- a/task03/src/com/example/task03/Task03Main.java +++ b/task03/src/com/example/task03/Task03Main.java @@ -1,16 +1,24 @@ package com.example.task03; -public class Task03Main { - public static void main(String[] args) { - //здесь вы можете вручную протестировать ваше решение, вызывая реализуемый метод и смотря результат - // например вот так: - /* - throwCheckedException(); - */ - } +import java.io.IOException; + +public class Task03Main +{ + public static void main(String[] args) + { + try + { + throwCheckedException(); + } + catch (Exception e) + { - //todo напишите здесь свою корректную реализацию задания - public static void throwCheckedException() { + } + + } + public static void throwCheckedException() throws IOException + { + throw new IOException("My Checked 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..f28dccd6 --- /dev/null +++ b/task04/src/com/example/task04/MyException.java @@ -0,0 +1,9 @@ +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..719be425 100644 --- a/task04/src/com/example/task04/Task04Main.java +++ b/task04/src/com/example/task04/Task04Main.java @@ -1,17 +1,23 @@ package com.example.task04; -public class Task04Main { - - public static void main(String[] args) { - //здесь вы можете вручную протестировать ваше решение, вызывая реализуемый метод и смотря результат - // например вот так: - /* - System.out.println(getSeason(-5)); - */ +public class Task04Main +{ + public static void main(String[] args) + { + System.out.println(getSeason(5)); } - static String getSeason(int monthNumber) { - return "";//todo напишите здесь свою корректную реализацию этого метода, вместо существующей + static String getSeason(int monthNumber) + { + if (monthNumber > 0 && monthNumber < 3 || monthNumber == 12) + return "зима"; + else if (monthNumber > 2 && monthNumber < 6) + return "весна"; + else if (monthNumber > 5 && monthNumber < 9) + return "лето"; + else if (monthNumber > 8 && monthNumber < 12) + return "осень"; + else + throw new MyException(String.format("monthNumber %d is invalid, month number should be between 1..12", monthNumber)); } - } \ 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..6f341a21 100644 --- a/task05/src/com/example/task05/Task05Main.java +++ b/task05/src/com/example/task05/Task05Main.java @@ -1,24 +1,42 @@ package com.example.task05; +import java.io.FileNotFoundException; import java.io.BufferedReader; 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 class Task05Main +{ + public static void main(String[] args) + { + String pathToFile = "/home/abracadabra.txt"; - String s = readFile(pathToFile); - System.out.println(s); + try + { + String s = readFile(pathToFile); + System.out.println(s); + } + + catch (FileNotFoundException e) + { + throw new RuntimeException(String.format("file %s is not found", pathToFile)); + } + + catch (IOException e) + { + throw new RuntimeException(String.format("an error occurred while reading file: %s",pathToFile)); + } } - public static String readFile(String pathToFile) throws IOException { + public static String readFile(String pathToFile) throws IOException + { FileReader fileReader = new FileReader(pathToFile); BufferedReader bufferedReader = new BufferedReader(fileReader); StringBuilder stringBuilder = new StringBuilder(); String currentLine; - while ((currentLine = bufferedReader.readLine()) != null) { + while ((currentLine = bufferedReader.readLine()) != null) + { stringBuilder.append(currentLine); stringBuilder.append("\n"); } diff --git a/task06/src/com/example/task06/Task06Main.java b/task06/src/com/example/task06/Task06Main.java index ebb26d82..ec8e06f5 100644 --- a/task06/src/com/example/task06/Task06Main.java +++ b/task06/src/com/example/task06/Task06Main.java @@ -1,16 +1,25 @@ package com.example.task06; -public class Task06Main { - public static void main(String[] args) { - //здесь вы можете вручную протестировать ваше решение, вызывая реализуемый метод и смотря результат - // например вот так: - /* +import java.util.logging.Logger; + +public class Task06Main +{ + public static void main(String[] args) + { new Task06Main().printMethodName(); - */ } - void printMethodName() { - //todo напишите здесь свою корректную реализацию этого метода, вместо существующей + void printMethodName() + { + try + { + throw new Exception(); + } + + catch(Exception e) + { + System.out.print(e.getStackTrace()[1].getMethodName()); + } } } \ 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..4970f46d 100644 --- a/task07/src/com/example/task07/Task07Main.java +++ b/task07/src/com/example/task07/Task07Main.java @@ -1,24 +1,34 @@ package com.example.task07; -public class Task07Main { - +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 static void main(String[] args) + { + } public Processor processor; - public String getExceptionType() { - //todo напишите здесь свою корректную реализацию этого метода, вместо существующей - try { - processor.process(); //todo вы можете заменить реализацию этого метода для ручного дебага - } catch (Exception e) { + public String getExceptionType() + { + try + { + processor.process(); + } + + catch (RuntimeException e) + { + return UNCHECKED; + } + catch (Exception e) + { + return CHECKED; } - return null; + return NONE; } - } \ No newline at end of file