From a80680f38ac4bc18ac2b2dcc4f44eef7b6181042 Mon Sep 17 00:00:00 2001 From: Knyaz-v Date: Sun, 9 Nov 2025 21:25:00 +0500 Subject: [PATCH] =?UTF-8?q?=D0=9A=D0=BD=D1=8F=D0=B7=D0=B5=D0=B2=D0=B0=20?= =?UTF-8?q?=D0=92=D0=B0=D0=BB=D0=B5=D1=80=D0=B8=D1=8F=20=D0=9F=D1=80=D0=98?= =?UTF-8?q?-201=207.1-7.4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- task01/src/com/example/task01/Task01Main.java | 11 ++++++++++- task02/src/com/example/task02/Task02Main.java | 18 ++++++++++++++++++ task03/src/com/example/task03/Task03Main.java | 18 +++++++++++++++--- task04/src/com/example/task04/Task04Main.java | 14 +++++++++++++- 4 files changed, 56 insertions(+), 5 deletions(-) diff --git a/task01/src/com/example/task01/Task01Main.java b/task01/src/com/example/task01/Task01Main.java index 7efef9a8..f925d982 100644 --- a/task01/src/com/example/task01/Task01Main.java +++ b/task01/src/com/example/task01/Task01Main.java @@ -16,6 +16,15 @@ 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 sum = 0; + int currentByte; + + while ((currentByte = inputStream.read()) != -1) { + sum = Integer.rotateLeft(sum, 1) ^ currentByte; + } + + return sum; } } diff --git a/task02/src/com/example/task02/Task02Main.java b/task02/src/com/example/task02/Task02Main.java index 865ea659..93ee8bd2 100644 --- a/task02/src/com/example/task02/Task02Main.java +++ b/task02/src/com/example/task02/Task02Main.java @@ -9,5 +9,23 @@ public static void main(String[] args) throws IOException { // - направить стандартный вывод программы в файл output.test // - запустить программу // - и сравнить получившийся файл output.test с expected.test + int prevByte = -1; + int currentByte; + + while ((currentByte = System.in.read()) != -1) { + if (prevByte == 13 && currentByte == 10) { + System.out.write(10); + prevByte = -1; + } else { + if (prevByte != -1) { + System.out.write(prevByte); + } + prevByte = currentByte; + } + } + if (prevByte != -1) { + System.out.write(prevByte); + } + System.out.flush(); } } diff --git a/task03/src/com/example/task03/Task03Main.java b/task03/src/com/example/task03/Task03Main.java index 332e0366..1d9b370d 100644 --- a/task03/src/com/example/task03/Task03Main.java +++ b/task03/src/com/example/task03/Task03Main.java @@ -1,7 +1,6 @@ package com.example.task03; -import java.io.IOException; -import java.io.InputStream; +import java.io.*; import java.nio.charset.Charset; public class Task03Main { @@ -16,6 +15,19 @@ 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(); + } + + InputStreamReader reader = new InputStreamReader(inputStream, charset); + BufferedReader bufferedReader = new BufferedReader(reader); + StringBuilder result = new StringBuilder(); + String currentLine; + + while ((currentLine = bufferedReader.readLine()) != null) { + result.append(currentLine); + } + return result.toString(); } } diff --git a/task04/src/com/example/task04/Task04Main.java b/task04/src/com/example/task04/Task04Main.java index 4236c2e7..f7fdc0a2 100644 --- a/task04/src/com/example/task04/Task04Main.java +++ b/task04/src/com/example/task04/Task04Main.java @@ -1,6 +1,8 @@ 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 { @@ -8,7 +10,17 @@ public static void main(String[] args) throws IOException { // - направить файл input.test в стандартный ввод программы (в настройках запуска программы в IDE или в консоли) // - запустить программу // - проверить, что получилось 351.731900 + Scanner scanner = new Scanner(System.in); + double sum = 0.0; + while (scanner.hasNext()) { + String token = scanner.next(); + try { + double number = Double.parseDouble(token); + sum += number; + } catch (NumberFormatException e) { - System.out.println("0.0"); + } + } + System.out.printf(Locale.US,"%.6f", sum); } }