Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 4 additions & 4 deletions task01/src/com/example/task01/Task01.java
Original file line number Diff line number Diff line change
Expand Up @@ -4,18 +4,18 @@ public class Task01 {

public static String solution() {

// TODO напишите здесь свою корректную реализацию этого метода, вместо сеществующей
String line = "Я думаю, быть программистом - это круто";

return "здесь какая-то неправильная строка";
return line;
}

public static void main(String[] args) {
// Здесь вы можете вручную протестировать ваше решение, вызывая реализуемый метод и смотря результат
// например вот так:
/*

String result = solution();
System.out.println(result);
*/

}

}
21 changes: 14 additions & 7 deletions task02/src/com/example/task02/Task02.java
Original file line number Diff line number Diff line change
Expand Up @@ -3,19 +3,26 @@
public class Task02 {

public static String solution(String input) {

// TODO напишите здесь свою корректную реализацию этого метода, вместо сеществующей

return "";
long number = Long.parseLong(input);
if (number >= Byte.MIN_VALUE && number <= Byte.MAX_VALUE) {
return "byte";
}
else if (number >= Short.MIN_VALUE && number <= Short.MAX_VALUE) {
return "short";
}
else if (number >= Integer.MIN_VALUE && number <= Integer.MAX_VALUE) {
return "int";
}
else return "long";
}

public static void main(String[] args) {
// Здесь вы можете вручную протестировать ваше решение, вызывая реализуемый метод и смотря результат
// например вот так:
/*
String result = solution("12345");

String result = solution("10000");
System.out.println(result);
*/

}

}
5 changes: 2 additions & 3 deletions task03/src/com/example/task03/Task03.java
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,9 @@
public class Task03 {

public static int getMetreFromCentimetre(int centimetre) {
int metre = centimetre / 100;

// TODO напишите здесь свою корректную реализацию этого метода, вместо сеществующей

return 0;
return metre;
}

public static void main(String[] args) {
Expand Down
18 changes: 13 additions & 5 deletions task04/src/com/example/task04/Task04.java
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,19 @@

public class Task04 {

public static float calculate(int a, int b, String operation) {

// TODO напишите здесь свою корректную реализацию этого метода, вместо сеществующей

return 0;
public static double calculate(int a, int b, String operation) {
if (operation == "+") {
return (double) a + b;
}
else if (operation == "-") {
return (double) a - b;
}
else if (operation == "*") {
return (double) a * b;
}
else {
return (double) a / b;
}
}

public static void main(String[] args) {
Expand Down
10 changes: 7 additions & 3 deletions task05/src/com/example/task05/Task05.java
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,14 @@
public class Task05 {

public static String solution(int x) {
String numStr = String.valueOf(x);
for (int i = 0; i < numStr.length(); i++) {

// TODO напишите здесь свою корректную реализацию этого метода, вместо сеществующей

return "FALSE";
if ("02468".indexOf(numStr.charAt(i)) == -1) {
return "FALSE";
}
}
return "TRUE";
}

public static void main(String[] args) {
Expand Down
14 changes: 11 additions & 3 deletions task06/src/com/example/task06/Task06.java
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,18 @@
public class Task06 {

public static int solution(int x, int y) {
int sum = x + y;
String sumStr = String.valueOf(sum);
int startIndex = 0;
if (sumStr.charAt(0) == '-') {
startIndex = 1;
}
int counter = 0;
for (int i = startIndex; i < sumStr.length(); i++) {
counter++;
}

// TODO напишите здесь свою корректную реализацию этого метода, вместо сеществующей

return 0;
return counter;
}

public static void main(String[] args) {
Expand Down
6 changes: 3 additions & 3 deletions task07/src/com/example/task07/Task07.java
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,10 @@
public class Task07 {

public static int solution(int n, int m, int k) {
int tentsInWidth = n / k;
int tentsInHight = m / k;

// TODO напишите здесь свою корректную реализацию этого метода, вместо сеществующей

return 0;
return tentsInHight * tentsInWidth;
}

public static void main(String[] args) {
Expand Down
2 changes: 1 addition & 1 deletion task08/src/com/example/task08/Task08.java
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ public class Task08 {
public static boolean solution() {
// TODO измените тип и значение переменной x, чтобы возвращалось значение true

int x = 100;
double x = Double.POSITIVE_INFINITY;
return x == x + 1;
}

Expand Down
2 changes: 1 addition & 1 deletion task09/src/com/example/task09/Task09.java
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ public static double solution() {

float a = 1.0f;
float b = 3.0f;
double x = (a / b - 1.0 / 3.0) * 1.0e9;
double x = (a / b - 1.0f / 3.0f) * 1.0e9;

return x;
}
Expand Down
16 changes: 14 additions & 2 deletions task10/src/com/example/task10/Task10.java
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,20 @@ 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.isInfinite(a) || Float.isInfinite(b)) {
return Float.compare(a, b) == 0;
}

if (precision == 0) {
return Math.round(a) == Math.round(b);
}

float epsilon = (float) Math.pow(10, -precision);
return Math.abs(a - b) <= epsilon;

}

Expand Down
12 changes: 7 additions & 5 deletions task11/src/com/example/task11/Task11.java
Original file line number Diff line number Diff line change
Expand Up @@ -3,14 +3,16 @@
public class Task11 {

public static float benefit(float sum, float percent) {
float totalInterest = 0.0f;
float current = sum;

// TODO исправьте функцию, чтобы избежать накопления ошибки

// Считаем проценты за год
for (int i = 1; i <= 12; i++) {
sum += sum * percent;
float monthlyInterest = current * percent;
totalInterest += monthlyInterest; //накапливает все проценты отдельно, меньше потерь точности
current += monthlyInterest;
}
return sum;

return sum + totalInterest; //Одно финальное сложение - вместо 12 операций сложения, только 1 в конце
}

public static void main(String[] args) {
Expand Down
18 changes: 11 additions & 7 deletions task12/src/com/example/task12/Task12.java
Original file line number Diff line number Diff line change
@@ -1,23 +1,27 @@
package com.example.task12;

import java.math.BigDecimal;
import java.math.RoundingMode;

public class Task12 {

public static BigDecimal benefit(BigDecimal sum, BigDecimal percent) {

// TODO раскомментируйте и исправьте код
BigDecimal current = sum;

// Считаем проценты за год

/*
for (int i = 1; i <= 12; i++) {
sum += sum * percent;
BigDecimal monthlyInterest = current.multiply(percent);// Вычисляем проценты за месяц


monthlyInterest = monthlyInterest.setScale(9, RoundingMode.HALF_UP);// Округляем проценты до 9 знаков с математическим округлением

current = current.add(monthlyInterest);

current = current.setScale(9, RoundingMode.HALF_UP);// Округляем итоговую сумму до 9 знаков
}
return sum;
*/

return BigDecimal.ZERO;
return current;
}

public static void main(String[] args) {
Expand Down
5 changes: 3 additions & 2 deletions task13/src/com/example/task13/Task13.java
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,9 @@ public class Task13 {

public static char toUpperCase(char c) {

// TODO привести букву к верхнему регистру

if (c >= 'a' && c <= 'z') {
return (char) (c - 32);// Разница между нижним и верхним регистром в ASCII/Unicode = 32
}
return c;
}

Expand Down
7 changes: 3 additions & 4 deletions task14/src/com/example/task14/Task14.java
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,9 @@ public class Task14 {


public static int reverse(int value) {

// TODO напишите здесь код, переставляющий цифры числа в обратном порядке

return 0;
String str = String.valueOf(value);
String reversedStr = new StringBuilder(str).reverse().toString();
return Integer.parseInt(reversedStr);
}

public static void main(String[] args) {
Expand Down