From e78f0a21ce7c41af964b142999684379c0145480 Mon Sep 17 00:00:00 2001 From: lenadekart Date: Fri, 14 Mar 2025 21:10:05 +0500 Subject: [PATCH] =?UTF-8?q?=D0=A1=D0=B8=D0=BC=D0=BE=D0=BD=D0=B5=D0=BD?= =?UTF-8?q?=D0=BA=D0=BE=20=D0=9B=D0=B5=D0=BE=D0=BD=D0=B8=D0=B4.=20=D0=97?= =?UTF-8?q?=D0=B0=D0=B4=D0=B0=D1=87=D0=B8=207.1=20-=207.4.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- task01/src/com/example/task01/Task01Main.java | 16 +++++++++---- task02/src/com/example/task02/Task02Main.java | 20 ++++++++++++++++ task03/src/com/example/task03/Task03Main.java | 23 ++++++++++++++----- task04/src/com/example/task04/Task04Main.java | 11 ++++++++- 4 files changed, 58 insertions(+), 12 deletions(-) diff --git a/task01/src/com/example/task01/Task01Main.java b/task01/src/com/example/task01/Task01Main.java index 7efef9a8..de879055 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,19 @@ 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 sum = 0; + int b; + while((b = inputStream.read()) != -1) + { + sum = Integer.rotateLeft(sum, 1) ^ b; + } + return sum; } } diff --git a/task02/src/com/example/task02/Task02Main.java b/task02/src/com/example/task02/Task02Main.java index 865ea659..03e44cc7 100644 --- a/task02/src/com/example/task02/Task02Main.java +++ b/task02/src/com/example/task02/Task02Main.java @@ -9,5 +9,25 @@ public static void main(String[] args) throws IOException { // - направить стандартный вывод программы в файл output.test // - запустить программу // - и сравнить получившийся файл output.test с expected.test + Replace(); + } + + private static void Replace(){ + byte[] buf = new byte[] {-1, -1}; + int bytesRead; + + try { + while ((bytesRead = System.in.read(buf, 1, 1)) != -1) { + if(buf[0] != -1 && !(buf[0] == 13 && buf[1] == 10)) + System.out.write(buf[0]); + + buf[0] = buf[1]; + } + + if(buf[0] != -1) + System.out.write(buf[0]); + } catch (IOException ex){ + ex.printStackTrace(); + } } } diff --git a/task03/src/com/example/task03/Task03Main.java b/task03/src/com/example/task03/Task03Main.java index 332e0366..90da98ea 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 { @@ -9,13 +8,25 @@ public static void main(String[] args) throws IOException { //здесь вы можете вручную протестировать ваше решение, вызывая реализуемый метод и смотря результат // например вот так: - /* System.out.println(readAsString(new FileInputStream("task03/src/com/example/task03/input.test"), Charset.forName("KOI8-R"))); - */ } public static String readAsString(InputStream inputStream, Charset charset) throws IOException { - // your implementation here - return ""; + if(inputStream == null || charset == null) + throw new IllegalArgumentException(); + + StringBuilder encodedString = new StringBuilder(); + + try(BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream, charset))){ + String line; + + while((line = reader.readLine()) != null){ + encodedString.append(line); + } + } catch (IOException ex){ + ex.printStackTrace(); + } + + return encodedString.toString(); } } diff --git a/task04/src/com/example/task04/Task04Main.java b/task04/src/com/example/task04/Task04Main.java index 4236c2e7..8cad6183 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 { @@ -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 = 0.; + while (scanner.hasNextDouble()) { + sum += scanner.nextDouble(); + } + + System.out.printf(String.format(Locale.US,"%.6f", sum)); } }