diff --git a/task01/src/com/example/task01/Task01.java b/task01/src/com/example/task01/Task01.java index f3c626eb8..357a5eadd 100644 --- a/task01/src/com/example/task01/Task01.java +++ b/task01/src/com/example/task01/Task01.java @@ -3,19 +3,12 @@ public class Task01 { public static String solution() { - - // TODO напишите здесь свою корректную реализацию этого метода, вместо сеществующей - - return "здесь какая-то неправильная строка"; + return "Я думаю, быть программистом - это круто"; } public static void main(String[] args) { - // Здесь вы можете вручную протестировать ваше решение, вызывая реализуемый метод и смотря результат - // например вот так: - /* String result = solution(); System.out.println(result); - */ } -} +} \ No newline at end of file diff --git a/task02/src/com/example/task02/Task02.java b/task02/src/com/example/task02/Task02.java index e09621d98..889e9ad12 100644 --- a/task02/src/com/example/task02/Task02.java +++ b/task02/src/com/example/task02/Task02.java @@ -3,19 +3,22 @@ public class Task02 { public static String solution(String input) { - - // TODO напишите здесь свою корректную реализацию этого метода, вместо сеществующей - - return ""; + long num = Long.parseLong(input); + if (num <= 127 & num >= -128) + return "byte"; + else if (num <= 32767 & num >= -32768) + return "short"; + else if (num <= 2147483647 & num >= -2147483648) + return "int"; + else + return "long"; } public static void main(String[] args) { - // Здесь вы можете вручную протестировать ваше решение, вызывая реализуемый метод и смотря результат - // например вот так: - /* String result = solution("12345"); System.out.println(result); - */ + + } -} +} \ No newline at end of file diff --git a/task03/src/com/example/task03/Task03.java b/task03/src/com/example/task03/Task03.java index 1b150447a..351fafa82 100644 --- a/task03/src/com/example/task03/Task03.java +++ b/task03/src/com/example/task03/Task03.java @@ -3,19 +3,13 @@ public class Task03 { public static int getMetreFromCentimetre(int centimetre) { - - // TODO напишите здесь свою корректную реализацию этого метода, вместо сеществующей - - return 0; + return (int) (centimetre / 100); } public static void main(String[] args) { - // Здесь вы можете вручную протестировать ваше решение, вызывая реализуемый метод и смотря результат - // например вот так: - /* - int result = getMetreFromCentimetre(345); + int result = getMetreFromCentimetre(333); System.out.println(result); - */ + } -} +} \ No newline at end of file diff --git a/task04/src/com/example/task04/Task04.java b/task04/src/com/example/task04/Task04.java index 84d94a730..a97028160 100644 --- a/task04/src/com/example/task04/Task04.java +++ b/task04/src/com/example/task04/Task04.java @@ -3,19 +3,23 @@ public class Task04 { public static float calculate(int a, int b, String operation) { - - // TODO напишите здесь свою корректную реализацию этого метода, вместо сеществующей - + switch (operation){ + case "+": + return a + b; + case "-": + return a - b; + case "*": + return a * b; + case "/": + return (float) a / b; + } return 0; } public static void main(String[] args) { - // Здесь вы можете вручную протестировать ваше решение, вызывая реализуемый метод и смотря результат - // например вот так: - /* float result = calculate(-25, 5, "/"); System.out.println(result); - */ + } -} +} \ No newline at end of file diff --git a/task05/src/com/example/task05/Task05.java b/task05/src/com/example/task05/Task05.java index df61b168d..99090eb5b 100644 --- a/task05/src/com/example/task05/Task05.java +++ b/task05/src/com/example/task05/Task05.java @@ -3,19 +3,18 @@ public class Task05 { public static String solution(int x) { + String number = Integer.toString(x); + for (int i = 0; i < number.length(); i++) + if ((number.charAt(i) - '0') % 2 != 0) + return "FALSE"; + return "TRUE"; - // TODO напишите здесь свою корректную реализацию этого метода, вместо сеществующей - - return "FALSE"; } public static void main(String[] args) { - // Здесь вы можете вручную протестировать ваше решение, вызывая реализуемый метод и смотря результат - // например вот так: - /* String result = solution(1234); System.out.println(result); - */ + } -} +} \ No newline at end of file diff --git a/task06/src/com/example/task06/Task06.java b/task06/src/com/example/task06/Task06.java index c532b65ee..85272caf9 100644 --- a/task06/src/com/example/task06/Task06.java +++ b/task06/src/com/example/task06/Task06.java @@ -3,19 +3,13 @@ public class Task06 { public static int solution(int x, int y) { - - // TODO напишите здесь свою корректную реализацию этого метода, вместо сеществующей - - return 0; + return Integer.toString(x + y).replace("-", "").length(); } public static void main(String[] args) { - // Здесь вы можете вручную протестировать ваше решение, вызывая реализуемый метод и смотря результат - // например вот так: - /* int result = solution(12, 34); System.out.println(result); - */ + } -} +} \ No newline at end of file diff --git a/task07/src/com/example/task07/Task07.java b/task07/src/com/example/task07/Task07.java index 5e3f2b225..af83a1b1f 100644 --- a/task07/src/com/example/task07/Task07.java +++ b/task07/src/com/example/task07/Task07.java @@ -3,19 +3,13 @@ public class Task07 { public static int solution(int n, int m, int k) { - - // TODO напишите здесь свою корректную реализацию этого метода, вместо сеществующей - - return 0; + int Row = n / k; + int Column = m / k; + return Row * Column; } public static void main(String[] args) { - // Здесь вы можете вручную протестировать ваше решение, вызывая реализуемый метод и смотря результат - // например вот так: - /* - int result = solution(10, 20, 5); + int result = solution(20, 50, 3); System.out.println(result); - */ } - -} +} \ No newline at end of file diff --git a/task08/src/com/example/task08/Task08.java b/task08/src/com/example/task08/Task08.java index e0a5cb0ff..e33ef94ea 100644 --- a/task08/src/com/example/task08/Task08.java +++ b/task08/src/com/example/task08/Task08.java @@ -3,17 +3,13 @@ public class Task08 { public static boolean solution() { - // TODO измените тип и значение переменной x, чтобы возвращалось значение true - - int x = 100; + double x = Double.POSITIVE_INFINITY; return x == x + 1; } public static void main(String[] args) { - // Здесь вы можете вручную протестировать ваше решение - /* System.out.println(solution()); - */ + } -} +} \ No newline at end of file diff --git a/task09/src/com/example/task09/Task09.java b/task09/src/com/example/task09/Task09.java index 2c6d1f834..68eb65117 100644 --- a/task09/src/com/example/task09/Task09.java +++ b/task09/src/com/example/task09/Task09.java @@ -3,20 +3,14 @@ public class Task09 { public static double solution() { - // TODO Устраните ошибку вычисления выражения, не изменяя типы данных у переменных - float a = 1.0f; float b = 3.0f; - double x = (a / b - 1.0 / 3.0) * 1.0e9; - + double x = ((double) a / (double) b - 1.0 / 3.0) * 1.0e9; return x; } public static void main(String[] args) { - // Здесь вы можете вручную протестировать ваше решение - /* System.out.println(solution()); - */ } -} +} \ No newline at end of file diff --git a/task10/src/com/example/task10/Task10.java b/task10/src/com/example/task10/Task10.java index ad8eedab6..6dffea71a 100644 --- a/task10/src/com/example/task10/Task10.java +++ b/task10/src/com/example/task10/Task10.java @@ -3,24 +3,24 @@ public class Task10 { public static boolean compare(float a, float b, int precision) { - - // TODO корректно сравнивать два значения типа float с заданной пользователем точностью (параметр - количество знаков после запятой). - // Функция должна корректно обрабатывать ситуацию со сравнением значений бесконечности. - // Функция должна считать значения «не число» NaN (например 0.0/0.0) равными между собой. - - return a == b; + if (Float.isNaN(a) && Float.isNaN(b)) + return true; + if (Float.isNaN(a) || Float.isNaN(b)) { + return false; + } + if (Float.isInfinite(a) || Float.isInfinite(b)) { + return a == b; + } + int p = 10^precision; + return (Math.floor(a * p) / p) == (Math.floor(b * p) / p); } - public static void main(String[] args) { float a = 0.3f; float b = 0.4f; float sum = a + b; float c = 0.7f; - boolean result = compare(sum, c, 2); System.out.println(result); - } - -} +} \ No newline at end of file diff --git a/task11/src/com/example/task11/Task11.java b/task11/src/com/example/task11/Task11.java index 47b80595a..6763dad37 100644 --- a/task11/src/com/example/task11/Task11.java +++ b/task11/src/com/example/task11/Task11.java @@ -5,12 +5,8 @@ public class Task11 { public static float benefit(float sum, float percent) { // TODO исправьте функцию, чтобы избежать накопления ошибки - // Считаем проценты за год - for (int i = 1; i <= 12; i++) { - sum += sum * percent; - } - return sum; + return (float) (sum * Math.pow(1.0 + percent, 12)); } public static void main(String[] args) { @@ -24,4 +20,4 @@ public static void main(String[] args) { } -} +} \ No newline at end of file diff --git a/task12/src/com/example/task12/Task12.java b/task12/src/com/example/task12/Task12.java index 12da72ee7..a8513d5a9 100644 --- a/task12/src/com/example/task12/Task12.java +++ b/task12/src/com/example/task12/Task12.java @@ -1,29 +1,22 @@ package com.example.task12; import java.math.BigDecimal; +import java.math.MathContext; +import java.math.RoundingMode; public class Task12 { public static BigDecimal benefit(BigDecimal sum, BigDecimal percent) { - // TODO раскомментируйте и исправьте код - - // Считаем проценты за год - - /* - for (int i = 1; i <= 12; i++) { - sum += sum * percent; - } - return sum; - */ - - return BigDecimal.ZERO; + BigDecimal multiplier = BigDecimal.ONE.add(percent) + .pow(12, new MathContext(20, RoundingMode.HALF_UP)); + return sum.multiply(multiplier).setScale(9, RoundingMode.HALF_UP); } public static void main(String[] args) { - BigDecimal sum = new BigDecimal(500).setScale(9, BigDecimal.ROUND_HALF_UP); // 500 руб. на счете - BigDecimal percent = new BigDecimal(0.00000001f).setScale(9, BigDecimal.ROUND_HALF_UP); // 0.000001% ежемесячно + BigDecimal sum = new BigDecimal(500).setScale(9, RoundingMode.HALF_UP); // 500 руб. на счете + BigDecimal percent = new BigDecimal("0.00000001").setScale(9, RoundingMode.HALF_UP); // 0.000001% ежемесячно sum = benefit(sum, percent); @@ -31,4 +24,4 @@ public static void main(String[] args) { } -} +} \ No newline at end of file diff --git a/task13/src/com/example/task13/Task13.java b/task13/src/com/example/task13/Task13.java index a3ea65e2c..377e089f0 100644 --- a/task13/src/com/example/task13/Task13.java +++ b/task13/src/com/example/task13/Task13.java @@ -3,19 +3,13 @@ public class Task13 { public static char toUpperCase(char c) { - - // TODO привести букву к верхнему регистру - - return c; + return (char) (c - 32); } public static void main(String[] args) { - // Здесь вы можете вручную протестировать ваше решение, вызывая реализуемый метод и смотря результат - // например вот так: - /* - char result = solution('x'); + char result = toUpperCase('x'); System.out.println(result); - */ + } -} +} \ No newline at end of file diff --git a/task14/src/com/example/task14/Task14.java b/task14/src/com/example/task14/Task14.java index 5f07aaab3..f1cd7c2fc 100644 --- a/task14/src/com/example/task14/Task14.java +++ b/task14/src/com/example/task14/Task14.java @@ -4,20 +4,14 @@ public class Task14 { public static int reverse(int value) { - - // TODO напишите здесь код, переставляющий цифры числа в обратном порядке - - return 0; + return Integer.parseInt(new StringBuilder(Integer.toString(value)).reverse().toString()); } public static void main(String[] args) { - // Здесь вы можете вручную протестировать ваше решение, вызывая реализуемый метод и смотря результат - // например вот так: - /* int result = reverse(345); System.out.println(result); - */ + } -} +} \ No newline at end of file