From 1d6b261b372235db6129b89f7826437a0dc6fda8 Mon Sep 17 00:00:00 2001 From: Liveenjuck Date: Tue, 2 Dec 2025 17:02:08 +0500 Subject: [PATCH 1/4] task01 solve --- task01/src/com/example/task01/Task01Main.java | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/task01/src/com/example/task01/Task01Main.java b/task01/src/com/example/task01/Task01Main.java index 7efef9a8..c388ff31 100644 --- a/task01/src/com/example/task01/Task01Main.java +++ b/task01/src/com/example/task01/Task01Main.java @@ -1,5 +1,6 @@ package com.example.task01; +import java.io.ByteArrayInputStream; import java.io.IOException; import java.io.InputStream; @@ -8,14 +9,17 @@ public static void main(String[] args) throws IOException { //здесь вы можете вручную протестировать ваше решение, вызывая реализуемый метод и смотря результат // например вот так: - /* + System.out.println(checkSumOfStream(new ByteArrayInputStream(new byte[]{0x33, 0x45, 0x01}))); - */ } public static int checkSumOfStream(InputStream inputStream) throws IOException { - // your implementation here - return 0; + if (inputStream == null) throw new IllegalArgumentException(); + int curByte, checkSum = 0; + while ((curByte = inputStream.read()) != -1) { + checkSum = Integer.rotateLeft(checkSum, 1) ^ curByte; + } + return checkSum; } -} +} \ No newline at end of file From 5acd95508e4ab8facebdc7ba462816cd2efee962 Mon Sep 17 00:00:00 2001 From: Liveenjuck Date: Tue, 2 Dec 2025 17:46:36 +0500 Subject: [PATCH 2/4] task02 solve --- task02/src/com/example/task02/Task02Main.java | 25 +++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/task02/src/com/example/task02/Task02Main.java b/task02/src/com/example/task02/Task02Main.java index 865ea659..bc04adac 100644 --- a/task02/src/com/example/task02/Task02Main.java +++ b/task02/src/com/example/task02/Task02Main.java @@ -9,5 +9,30 @@ public static void main(String[] args) throws IOException { // - направить стандартный вывод программы в файл output.test // - запустить программу // - и сравнить получившийся файл output.test с expected.test + int currentByte; + boolean lastWasCarriageReturn = false; + while((currentByte = System.in.read()) != -1) { + if (currentByte == 13) { + if (lastWasCarriageReturn) System.out.write(13); + lastWasCarriageReturn = true; + } + else if (currentByte == 10) { + if (lastWasCarriageReturn) { + System.out.write(10); + lastWasCarriageReturn = false; + } + else System.out.write(10); + } + else { + if (lastWasCarriageReturn) { + System.out.write(13); + lastWasCarriageReturn= false; + } + System.out.write(currentByte); + } + } + + if (lastWasCarriageReturn) System.out.write(13); + System.out.flush(); } } From eb1b05e4cea254640f239c0a95d97854f8931770 Mon Sep 17 00:00:00 2001 From: Liveenjuck Date: Tue, 2 Dec 2025 19:25:03 +0500 Subject: [PATCH 3/4] task03 solve --- task03/src/com/example/task03/Task03Main.java | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/task03/src/com/example/task03/Task03Main.java b/task03/src/com/example/task03/Task03Main.java index 332e0366..fe54dba1 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 { @@ -15,7 +14,14 @@ 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 bufReader = new BufferedReader(reader); + StringBuilder res = new StringBuilder(); + String line; + while ((line = bufReader.readLine()) != null) { + res.append(line); + } + return res.toString(); } } From 2ba7e30ca5ed3967b1317daa30762b534b55eb8b Mon Sep 17 00:00:00 2001 From: Liveenjuck Date: Tue, 2 Dec 2025 19:44:20 +0500 Subject: [PATCH 4/4] task04 solve --- task04/src/com/example/task04/Task04Main.java | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/task04/src/com/example/task04/Task04Main.java b/task04/src/com/example/task04/Task04Main.java index 4236c2e7..5e988cbd 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.Scanner; +import java.util.Locale; public class Task04Main { public static void main(String[] args) throws IOException { @@ -9,6 +11,13 @@ public static void main(String[] args) throws IOException { // - запустить программу // - проверить, что получилось 351.731900 - System.out.println("0.0"); + Scanner scanner = new Scanner(System.in).useLocale(Locale.US); + double sum = 0d; + while (scanner.hasNext()) { + if (scanner.hasNextDouble()) sum += scanner.nextDouble(); + else scanner.next(); + } + System.out.printf(Locale.US, "%.6f", sum); + scanner.close(); } }