From fc4786c682a5ee12b98f340c40c9db35babd46b5 Mon Sep 17 00:00:00 2001 From: Alexander Lepekhin Date: Wed, 5 Nov 2025 11:56:23 +0300 Subject: [PATCH 1/5] #285 don't modify actual --- modules/35-methods-using/115-string-immutability/Test.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/35-methods-using/115-string-immutability/Test.java b/modules/35-methods-using/115-string-immutability/Test.java index f875d6a..eed7aa9 100644 --- a/modules/35-methods-using/115-string-immutability/Test.java +++ b/modules/35-methods-using/115-string-immutability/Test.java @@ -14,7 +14,7 @@ public static void main(String[] args) { App.main(null); - final var actual = out.toString().trim(); + final var actual = out.toString(); System.setOut(new PrintStream(new FileOutputStream(FileDescriptor.out))); System.out.println(actual); From 5afbd5672c8d3be70328d3882d4a1afef053e6f1 Mon Sep 17 00:00:00 2001 From: Alexander Lepekhin Date: Tue, 18 Nov 2025 10:49:09 +0300 Subject: [PATCH 2/5] =?UTF-8?q?#285=20=D0=B8=D1=81=D0=BF=D0=BE=D0=BB=D1=8C?= =?UTF-8?q?=D0=B7=D1=83=D0=B5=D1=82=D1=81=D1=8F=20print=20=D0=B2=D0=BC?= =?UTF-8?q?=D0=B5=D1=81=D1=82=D0=BE=20println=20=D0=B2=20App.java?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- modules/35-methods-using/115-string-immutability/App.java | 2 +- modules/35-methods-using/115-string-immutability/Test.java | 3 +-- .../35-methods-using/115-string-immutability/ru/EXERCISE.md | 3 +++ 3 files changed, 5 insertions(+), 3 deletions(-) diff --git a/modules/35-methods-using/115-string-immutability/App.java b/modules/35-methods-using/115-string-immutability/App.java index 71c82e0..ac664a2 100644 --- a/modules/35-methods-using/115-string-immutability/App.java +++ b/modules/35-methods-using/115-string-immutability/App.java @@ -5,7 +5,7 @@ public static void main(String[] args) { // BEGIN email = email.trim(); email = email.toLowerCase(); - System.out.println(email); + System.out.print(email); // END } } diff --git a/modules/35-methods-using/115-string-immutability/Test.java b/modules/35-methods-using/115-string-immutability/Test.java index eed7aa9..2aa033e 100644 --- a/modules/35-methods-using/115-string-immutability/Test.java +++ b/modules/35-methods-using/115-string-immutability/Test.java @@ -2,6 +2,7 @@ import java.io.FileDescriptor; import java.io.FileOutputStream; import java.io.PrintStream; +import java.io.PrintWriter; import static org.assertj.core.api.Assertions.assertThat; @@ -17,8 +18,6 @@ public static void main(String[] args) { final var actual = out.toString(); System.setOut(new PrintStream(new FileOutputStream(FileDescriptor.out))); - System.out.println(actual); - assertThat(actual).isEqualTo(expected); } } diff --git a/modules/35-methods-using/115-string-immutability/ru/EXERCISE.md b/modules/35-methods-using/115-string-immutability/ru/EXERCISE.md index 96009f1..9c7e490 100644 --- a/modules/35-methods-using/115-string-immutability/ru/EXERCISE.md +++ b/modules/35-methods-using/115-string-immutability/ru/EXERCISE.md @@ -5,3 +5,6 @@ * Приведение к нижнему регистру с помощью метода `toLowerCase()`. Было: `"SUPPORT@hexlet.io"`, стало: `"support@hexlet.io"`. Обновите переменную `email` записав в неё то же самое значение, но обработанное по схеме указанной выше. Распечатайте то, что получилось, на экран. +Учтите, что метод System.out.println() добавляет символ '\n' в конец строки. +Поэтому пользуйтесь методом System.out.print() в данной задаче. + From a286979f0aff1ea1d669972ed8daae63b086d559 Mon Sep 17 00:00:00 2001 From: Alexander Lepekhin Date: Thu, 20 Nov 2025 11:31:20 +0300 Subject: [PATCH 3/5] #285-request-writing-method --- .../115-string-immutability/App.java | 10 +++++----- .../115-string-immutability/Test.java | 14 ++++---------- .../115-string-immutability/ru/EXERCISE.md | 12 ++++++++---- 3 files changed, 17 insertions(+), 19 deletions(-) diff --git a/modules/35-methods-using/115-string-immutability/App.java b/modules/35-methods-using/115-string-immutability/App.java index ac664a2..238e2bc 100644 --- a/modules/35-methods-using/115-string-immutability/App.java +++ b/modules/35-methods-using/115-string-immutability/App.java @@ -1,11 +1,11 @@ public class App { - public static void main(String[] args) { - var email = " SupporT@hexlet.io\n"; + public static final String email = " SupporT@hexlet.io\n"; + + public static String normalize() { // BEGIN - email = email.trim(); - email = email.toLowerCase(); - System.out.print(email); + return email.trim().toLowerCase(); // END } + } diff --git a/modules/35-methods-using/115-string-immutability/Test.java b/modules/35-methods-using/115-string-immutability/Test.java index 2aa033e..f344522 100644 --- a/modules/35-methods-using/115-string-immutability/Test.java +++ b/modules/35-methods-using/115-string-immutability/Test.java @@ -7,17 +7,11 @@ import static org.assertj.core.api.Assertions.assertThat; class Test { + public static void main(String[] args) { final var expected = "support@hexlet.io"; - - ByteArrayOutputStream out = new ByteArrayOutputStream(); - System.setOut(new PrintStream(out)); - - App.main(null); - - final var actual = out.toString(); - - System.setOut(new PrintStream(new FileOutputStream(FileDescriptor.out))); - assertThat(actual).isEqualTo(expected); + final var actual = App.normalize(); + assertThat(expected).isEqualTo(actual); } + } diff --git a/modules/35-methods-using/115-string-immutability/ru/EXERCISE.md b/modules/35-methods-using/115-string-immutability/ru/EXERCISE.md index 9c7e490..83ed3a3 100644 --- a/modules/35-methods-using/115-string-immutability/ru/EXERCISE.md +++ b/modules/35-methods-using/115-string-immutability/ru/EXERCISE.md @@ -4,7 +4,11 @@ * Удаление концевых пробельных символов с помощью метода `.trim()`, например, было: `" hexlet\n "`, стало: `"hexlet"` * Приведение к нижнему регистру с помощью метода `toLowerCase()`. Было: `"SUPPORT@hexlet.io"`, стало: `"support@hexlet.io"`. -Обновите переменную `email` записав в неё то же самое значение, но обработанное по схеме указанной выше. Распечатайте то, что получилось, на экран. -Учтите, что метод System.out.println() добавляет символ '\n' в конец строки. -Поэтому пользуйтесь методом System.out.print() в данной задаче. - +Напишите метод `normalize()` +``` + public static final String email = " SupporT@hexlet.io\n"; + public static String normalize() { + ... + } +``` +который для заданного значения `email` вернет его же, но обработанное по схеме указанной выше. From 10418ef2d58b980fb2a0f72afebe0ca1665499fe Mon Sep 17 00:00:00 2001 From: Alexander Lepekhin Date: Wed, 26 Nov 2025 17:13:32 +0300 Subject: [PATCH 4/5] =?UTF-8?q?#258=20=D0=92=20=D1=82=D0=B5=D1=81=D1=82?= =?UTF-8?q?=D0=B5=20=D1=83=D1=87=D1=82=D0=B5=D0=BD=20=D0=BF=D0=B5=D1=80?= =?UTF-8?q?=D0=B5=D0=B2=D0=BE=D0=B4=20=D1=81=D1=82=D1=80=D0=BE=D0=BA=D0=B8?= =?UTF-8?q?,=20=D0=B4=D0=BE=D0=B1=D0=B0=D0=B2=D0=BB=D1=8F=D0=B5=D0=BC?= =?UTF-8?q?=D1=8B=D0=B9=20println?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../115-string-immutability/App.java | 8 +++---- .../115-string-immutability/Test.java | 22 ++++++++++++++----- .../115-string-immutability/ru/EXERCISE.md | 2 +- 3 files changed, 21 insertions(+), 11 deletions(-) diff --git a/modules/35-methods-using/115-string-immutability/App.java b/modules/35-methods-using/115-string-immutability/App.java index 238e2bc..af76316 100644 --- a/modules/35-methods-using/115-string-immutability/App.java +++ b/modules/35-methods-using/115-string-immutability/App.java @@ -1,11 +1,9 @@ public class App { + public static void main(String[] args) { + var email = "\tSupporT@hexlet.io "; - public static final String email = " SupporT@hexlet.io\n"; - - public static String normalize() { // BEGIN - return email.trim().toLowerCase(); + System.out.println(email.trim().toLowerCase()); // END } - } diff --git a/modules/35-methods-using/115-string-immutability/Test.java b/modules/35-methods-using/115-string-immutability/Test.java index f344522..0416520 100644 --- a/modules/35-methods-using/115-string-immutability/Test.java +++ b/modules/35-methods-using/115-string-immutability/Test.java @@ -2,16 +2,28 @@ import java.io.FileDescriptor; import java.io.FileOutputStream; import java.io.PrintStream; -import java.io.PrintWriter; import static org.assertj.core.api.Assertions.assertThat; class Test { - public static void main(String[] args) { final var expected = "support@hexlet.io"; - final var actual = App.normalize(); - assertThat(expected).isEqualTo(actual); - } + ByteArrayOutputStream out = new ByteArrayOutputStream(); + System.setOut(new PrintStream(out)); + + App.main(null); + + String answer = out.toString(); + if (answer != null && answer.endsWith("\n")) { + // remove linefeed added by println + answer = answer.substring(0, answer.length() - 1); + } + final var actual = answer; + + System.setOut(new PrintStream(new FileOutputStream(FileDescriptor.out))); + System.out.println(actual); + + assertThat(actual).isEqualTo(expected); + } } diff --git a/modules/35-methods-using/115-string-immutability/ru/EXERCISE.md b/modules/35-methods-using/115-string-immutability/ru/EXERCISE.md index 83ed3a3..18aaae8 100644 --- a/modules/35-methods-using/115-string-immutability/ru/EXERCISE.md +++ b/modules/35-methods-using/115-string-immutability/ru/EXERCISE.md @@ -11,4 +11,4 @@ ... } ``` -который для заданного значения `email` вернет его же, но обработанное по схеме указанной выше. +Обновите переменную email записав в неё то же самое значение, но обработанное по схеме указанной выше. Распечатайте то, что получилось, на экран. From 52cea5ffc3b0df0c45515f9547ff8b2a920c0ab1 Mon Sep 17 00:00:00 2001 From: Alexander Lepekhin Date: Thu, 27 Nov 2025 14:30:12 +0300 Subject: [PATCH 5/5] =?UTF-8?q?#285=20=D0=B2=D0=B5=D1=80=D0=BD=D1=83=D0=BB?= =?UTF-8?q?=20=D0=B2=D1=81=D0=B5=20=D0=BE=D0=B1=D1=80=D0=B0=D1=82=D0=BD?= =?UTF-8?q?=D0=BE=20=D0=B7=D0=B0=20=D0=B8=D1=81=D0=BA=D0=BB=D1=8E=D1=87?= =?UTF-8?q?=D0=B5=D0=BD=D0=B8=D0=B5=D0=BC=20=D1=82=D0=B5=D1=81=D1=82=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../35-methods-using/115-string-immutability/App.java | 6 ++++-- .../115-string-immutability/ru/EXERCISE.md | 9 +-------- 2 files changed, 5 insertions(+), 10 deletions(-) diff --git a/modules/35-methods-using/115-string-immutability/App.java b/modules/35-methods-using/115-string-immutability/App.java index af76316..71c82e0 100644 --- a/modules/35-methods-using/115-string-immutability/App.java +++ b/modules/35-methods-using/115-string-immutability/App.java @@ -1,9 +1,11 @@ public class App { public static void main(String[] args) { - var email = "\tSupporT@hexlet.io "; + var email = " SupporT@hexlet.io\n"; // BEGIN - System.out.println(email.trim().toLowerCase()); + email = email.trim(); + email = email.toLowerCase(); + System.out.println(email); // END } } diff --git a/modules/35-methods-using/115-string-immutability/ru/EXERCISE.md b/modules/35-methods-using/115-string-immutability/ru/EXERCISE.md index 18aaae8..96009f1 100644 --- a/modules/35-methods-using/115-string-immutability/ru/EXERCISE.md +++ b/modules/35-methods-using/115-string-immutability/ru/EXERCISE.md @@ -4,11 +4,4 @@ * Удаление концевых пробельных символов с помощью метода `.trim()`, например, было: `" hexlet\n "`, стало: `"hexlet"` * Приведение к нижнему регистру с помощью метода `toLowerCase()`. Было: `"SUPPORT@hexlet.io"`, стало: `"support@hexlet.io"`. -Напишите метод `normalize()` -``` - public static final String email = " SupporT@hexlet.io\n"; - public static String normalize() { - ... - } -``` -Обновите переменную email записав в неё то же самое значение, но обработанное по схеме указанной выше. Распечатайте то, что получилось, на экран. +Обновите переменную `email` записав в неё то же самое значение, но обработанное по схеме указанной выше. Распечатайте то, что получилось, на экран.