From 67291f243902a92e12630a15360c4258efc6c82d Mon Sep 17 00:00:00 2001 From: Paul Date: Mon, 29 Dec 2025 15:41:58 +0400 Subject: [PATCH 1/2] saved data --- savedData.txt | 32 -------------------------------- 1 file changed, 32 deletions(-) diff --git a/savedData.txt b/savedData.txt index 67aad48..e69de29 100644 --- a/savedData.txt +++ b/savedData.txt @@ -1,32 +0,0 @@ - -Client{name='Андреева Дарья', phoneNumber='+79384195474', idNumber=999} -Client{name='Анжела Викторовна Блохина', phoneNumber='+79296568824', idNumber=661} -Client{name='Анжелика Кошелева', phoneNumber='+79804707713', idNumber=78} -Client{name='Антон Воронов', phoneNumber='+79938685129', idNumber=262} -Client{name='Аркадий Игнатьевич Тихонов', phoneNumber='+79337132205', idNumber=23} -Client{name='Бобылев Вячеслав', phoneNumber='+79549089324', idNumber=573} -Client{name='Большаков Матвей Эдуардович', phoneNumber='+79051246042', idNumber=591} -Client{name='Василиса Антоновна Лапина', phoneNumber='+79971387677', idNumber=853} -Client{name='Вера Артёмовна Капустина', phoneNumber='+79591168118', idNumber=461} -Client{name='Вероника Моисеева', phoneNumber='+79058575995', idNumber=889} -Client{name='Виктор Леонидович Зиновьев', phoneNumber='+79272614762', idNumber=627} -Client{name='Гаврилова Алла Владимировна', phoneNumber='+79303034501', idNumber=387} -Client{name='Екатерина Филатова', phoneNumber='+79524244998', idNumber=669} -Client{name='Ефремова Ольга Вячеславовна', phoneNumber='+79201039302', idNumber=778} -Client{name='Игнатий Ильич Антонов', phoneNumber='+79946035137', idNumber=829} -Client{name='Игнатьева Зинаида Вячеславовна', phoneNumber='+79468715374', idNumber=813} -Client{name='Кулагин Дмитрий', phoneNumber='+79019463584', idNumber=93} -Client{name='Лаврентьев Вячеслав Сергеевич', phoneNumber='+79639495445', idNumber=459} -Client{name='Маргарита Викторовна Кузьмина', phoneNumber='+79571424972', idNumber=549} -Client{name='Медведева Валентина', phoneNumber='+79282932301', idNumber=594} -Client{name='Мухина Алина Сергеевна', phoneNumber='+79841015291', idNumber=296} -Client{name='Мухина Раиса Валентиновна', phoneNumber='+79204742853', idNumber=512} -Client{name='Оксана Кулагина', phoneNumber='+79538510155', idNumber=860} -Client{name='Панфилова Арина', phoneNumber='+79678575110', idNumber=927} -Client{name='Попов Роман Евгеньевич', phoneNumber='+79392077705', idNumber=996} -Client{name='Русакова Валентина', phoneNumber='+79499915311', idNumber=3} -Client{name='Субботина Евгения', phoneNumber='+79883134731', idNumber=275} -Client{name='Фадеев Игорь Даниилович', phoneNumber='+79907800005', idNumber=194} -Client{name='Фокин Матвей Витальевич', phoneNumber='+79274394409', idNumber=933} -Client{name='Шаров Юрий', phoneNumber='+79408809462', idNumber=699} - From 0db9ad0621bfef2d3af9f2c21c61c4e8b6c89c6d Mon Sep 17 00:00:00 2001 From: Paul Date: Mon, 29 Dec 2025 17:02:23 +0400 Subject: [PATCH 2/2] =?UTF-8?q?=D0=B4=D0=BE=D0=B1=D0=B0=D0=B2=D0=BB=D0=B5?= =?UTF-8?q?=D0=BD=D0=B0=20=D0=B2=D0=B0=D0=BB=D0=B8=D0=B4=D0=B0=D1=86=D0=B8?= =?UTF-8?q?=D1=8F=20=D0=B2=D0=B2=D0=BE=D0=B4=D0=B0=20=D0=B8=D0=BC=D0=B5?= =?UTF-8?q?=D0=BD=D0=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- savedData.txt | 8 ++++++++ .../java/input/strategy/FileReaderStrategy.java | 5 +++++ .../strategy/ManualInputReaderStrategy.java | 17 +++++++++++++---- .../strategy/ManualInputReaderStrategyTest.java | 2 +- .../java/userInterface/AppControllerTest.java | 4 ++-- test_clients.txt | 4 ++-- wrongTestfile_clients.txt | 6 +++--- 7 files changed, 34 insertions(+), 12 deletions(-) diff --git a/savedData.txt b/savedData.txt index e69de29..2f856eb 100644 --- a/savedData.txt +++ b/savedData.txt @@ -0,0 +1,8 @@ +Client{name='Иван', phoneNumber='+79991234567', idNumber=2} +Client{name='Пётр', phoneNumber='+79997654321', idNumber=1} + +Client{name='Алексей', phoneNumber='+79994444444', idNumber=6} +Client{name='Сергей', phoneNumber='+79993333333', idNumber=5} + +Client{name='ВыводТест', phoneNumber='+71111111111', idNumber=77} + diff --git a/src/main/java/input/strategy/FileReaderStrategy.java b/src/main/java/input/strategy/FileReaderStrategy.java index f0981d1..332031f 100644 --- a/src/main/java/input/strategy/FileReaderStrategy.java +++ b/src/main/java/input/strategy/FileReaderStrategy.java @@ -117,6 +117,11 @@ public Optional parseToClient(String line) { return Optional.empty(); } + if (!name.matches("^([А-ЯЁ][а-яё]+\\s){1,2}[А-ЯЁ][а-яё]+$")) { + System.out.println("Неверный формат имени " + line); + return Optional.empty(); + } + if (!phoneNumber.matches("^\\+7\\d{10}$")) { System.out.println("Неверный формат номера телефона в строке: " + line); return Optional.empty(); diff --git a/src/main/java/input/strategy/ManualInputReaderStrategy.java b/src/main/java/input/strategy/ManualInputReaderStrategy.java index 0db8327..aedbc93 100644 --- a/src/main/java/input/strategy/ManualInputReaderStrategy.java +++ b/src/main/java/input/strategy/ManualInputReaderStrategy.java @@ -129,10 +129,19 @@ private Client inputClient(int clientNumber) { } private String promptForName() { - try { - return promptForString("Введите имя", true); - } catch (StopInputException e) { - throw e; + while (true) { + try { + String name = promptForString("Введите имя", true); + + if (name.matches("^([А-ЯЁ][а-яё]+\\s){1,2}[А-ЯЁ][а-яё]+$")) { + return name.trim().replaceAll("\\s+", " "); + } else { + System.out.println("Неверный формат! Используйте: Фамилия Имя или Фамилия Имя Отчество"); + } + + } catch (StopInputException e) { + throw e; + } } } diff --git a/src/test/java/input/strategy/ManualInputReaderStrategyTest.java b/src/test/java/input/strategy/ManualInputReaderStrategyTest.java index 0ebea04..befe5bd 100644 --- a/src/test/java/input/strategy/ManualInputReaderStrategyTest.java +++ b/src/test/java/input/strategy/ManualInputReaderStrategyTest.java @@ -175,7 +175,7 @@ void testGetDataStopsAtLimitOf1000Clients() throws IOException { StringBuilder inputBuilder = new StringBuilder(); for (int i = 0; i < 1000; i++) { inputBuilder.append("да\n"); - inputBuilder.append("Клиент ").append(i).append("\n"); + inputBuilder.append("Иван Иванов").append("\n"); inputBuilder.append("+7").append(String.format("%010d", i)).append("\n"); inputBuilder.append(i).append("\n"); inputBuilder.append("да\n"); diff --git a/src/test/java/userInterface/AppControllerTest.java b/src/test/java/userInterface/AppControllerTest.java index 3bcc855..f977980 100644 --- a/src/test/java/userInterface/AppControllerTest.java +++ b/src/test/java/userInterface/AppControllerTest.java @@ -100,8 +100,8 @@ void testStartFileReaderStrategy() { File testFile = new File("test_clients.txt"); try (BufferedWriter writer = new BufferedWriter(new FileWriter(testFile))) { - writer.write("Алексей|+79991112233|1\n"); - writer.write("Мария|+79992223344|2\n"); + writer.write("Алексей Петров|+79991112233|1\n"); + writer.write("Мария Иванова|+79992223344|2\n"); } catch (Exception e){ throw new RuntimeException(e); } diff --git a/test_clients.txt b/test_clients.txt index ff44f20..e147b96 100644 --- a/test_clients.txt +++ b/test_clients.txt @@ -1,2 +1,2 @@ -Алексей|+79991112233|1 -Мария|+79992223344|2 +Алексей Петров|+79991112233|1 +Мария Иванова|+79992223344|2 diff --git a/wrongTestfile_clients.txt b/wrongTestfile_clients.txt index 43c97a0..eb88c5a 100644 --- a/wrongTestfile_clients.txt +++ b/wrongTestfile_clients.txt @@ -1,6 +1,6 @@ -Шаров Юрий;+79408809462;699 -Кулагин Дмитрий;+79019463584;93 -Мухина Раиса Валентиновна;+79204742853;512 +Шаров 1234|+79408809462|699 +5834934 Дмитрий|+79019463584|93 +14289191248412 241882412|+79204742853|512 Мухина Алина Сергеевна;+79841015291;296 Аркадий Игнатьевич Тихонов;+79337132205;23 Большаков Матвей Эдуардович;+79051246042;591