diff --git a/task01/src/com/example/task01/Task01Main.java b/task01/src/com/example/task01/Task01Main.java index 7efef9a8..5f8eb692 100644 --- a/task01/src/com/example/task01/Task01Main.java +++ b/task01/src/com/example/task01/Task01Main.java @@ -16,6 +16,19 @@ public static void main(String[] args) throws IOException { public static int checkSumOfStream(InputStream inputStream) throws IOException { // your implementation here - return 0; + if (inputStream == null) { + throw new IllegalArgumentException(); + } + + int b = inputStream.read(); + int checkSum = 0; + + while (b > -1) { + checkSum = Integer.rotateLeft(checkSum, 1) ^ b; + b = inputStream.read(); + } + + + return checkSum; } } diff --git a/task02/src/com/example/task02/Task02Main.java b/task02/src/com/example/task02/Task02Main.java index 865ea659..82de7d79 100644 --- a/task02/src/com/example/task02/Task02Main.java +++ b/task02/src/com/example/task02/Task02Main.java @@ -1,5 +1,5 @@ package com.example.task02; - +import java.io.InputStream; import java.io.IOException; public class Task02Main { @@ -9,5 +9,17 @@ public static void main(String[] args) throws IOException { // - направить стандартный вывод программы в файл output.test // - запустить программу // - и сравнить получившийся файл output.test с expected.test + InputStream inputStream = System.in; + int prev = inputStream.read(); + int curr = inputStream.read(); + + while (prev != -1){ + if(prev != 13 || curr != 10){ + System.out.write(prev); + } + prev = curr; + curr = inputStream.read(); + } + System.out.flush(); } } diff --git a/task03/src/com/example/task03/Task03Main.java b/task03/src/com/example/task03/Task03Main.java index 332e0366..b0e9e4e7 100644 --- a/task03/src/com/example/task03/Task03Main.java +++ b/task03/src/com/example/task03/Task03Main.java @@ -3,6 +3,7 @@ import java.io.IOException; import java.io.InputStream; import java.nio.charset.Charset; +import java.io.*; public class Task03Main { public static void main(String[] args) throws IOException { @@ -15,7 +16,11 @@ public static void main(String[] args) throws IOException { } public static String readAsString(InputStream inputStream, Charset charset) throws IOException { - // your implementation here - return ""; + if (inputStream == null || charset == null) { + throw new IllegalArgumentException(); + } + Reader reader = new InputStreamReader(inputStream, charset); + BufferedReader bufferedReader = new BufferedReader(reader); + return bufferedReader.readLine(); } } diff --git a/task04/src/com/example/task04/Task04Main.java b/task04/src/com/example/task04/Task04Main.java index 4236c2e7..0fd0dfa3 100644 --- a/task04/src/com/example/task04/Task04Main.java +++ b/task04/src/com/example/task04/Task04Main.java @@ -1,14 +1,20 @@ package com.example.task04; import java.io.IOException; +import java.util.Locale; +import java.util.Scanner; public class Task04Main { public static void main(String[] args) throws IOException { - // чтобы протестировать свое решение, вам нужно: - // - направить файл input.test в стандартный ввод программы (в настройках запуска программы в IDE или в консоли) - // - запустить программу - // - проверить, что получилось 351.731900 + Scanner scanner = new Scanner(System.in).useLocale(Locale.US); + double result = 0; + while (scanner.hasNextDouble()) { + double token = scanner.nextDouble(); + result += token; + } + + System.out.printf(Locale.US,"%.6f", result); + - System.out.println("0.0"); } }