From 709e4543803ddc4e5ab2a053afaa1f289ea48df9 Mon Sep 17 00:00:00 2001 From: t-eguchi <26-t-eguchi-tmn@it-college.co.jp> Date: Thu, 10 Sep 2026 16:07:33 +0900 Subject: [PATCH] =?UTF-8?q?=E6=AE=B5=E9=9A=8E=EF=BC=92=E7=B5=82=E3=82=8F?= =?UTF-8?q?=E3=82=8A=E3=81=BE=E3=81=97=E3=81=9F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- StringCheck/src/day3/StringCheck.java | 148 +++++++++++++------------- 1 file changed, 75 insertions(+), 73 deletions(-) diff --git a/StringCheck/src/day3/StringCheck.java b/StringCheck/src/day3/StringCheck.java index a470979..7f6f715 100644 --- a/StringCheck/src/day3/StringCheck.java +++ b/StringCheck/src/day3/StringCheck.java @@ -24,88 +24,90 @@ import java.util.Scanner; */ public class StringCheck { - public static void main(String[] args) { + public static void main(String[] args) { - // ============================================================ - // 1日目 段階1:画面に表示する文言を、あらかじめ配列にまとめておく - // ============================================================ - // 何度も使う固定の文言は、1つずつバラバラに書くのではなく、 - // 配列にまとめておくと管理しやすい。 - // messages[0] … 入力を促すプロンプト - // messages[1] … 未入力(または空白のみ)のときのエラーメッセージ - // messages[2] … 文字数が多すぎるときのエラーメッセージ - // messages[3] … 投稿が成功したときに表示するバナー - String[] messages = { - "いまなにしてる?", - "何も入力されていません", - "投稿文が長すぎます", - "↓↓↓↓↓↓ 投稿されました ↓↓↓↓↓↓" - }; + // ============================================================ + // 1日目 段階1:画面に表示する文言を、あらかじめ配列にまとめておく + // ============================================================ + // 何度も使う固定の文言は、1つずつバラバラに書くのではなく、 + // 配列にまとめておくと管理しやすい。 + // messages[0] … 入力を促すプロンプト + // messages[1] … 未入力(または空白のみ)のときのエラーメッセージ + // messages[2] … 文字数が多すぎるときのエラーメッセージ + // messages[3] … 投稿が成功したときに表示するバナー + String[] messages = { + "いまなにしてる?", + "何も入力されていません", + "投稿文が長すぎます", + "↓↓↓↓↓↓ 投稿されました ↓↓↓↓↓↓" + }; - - + // 投稿内容(前後の空白を除去したあとの文字列)を保持する変数。 + // while文を抜けたあとでも使うので、while文の外で宣言しておく。 + String str = ""; - // 投稿内容(前後の空白を除去したあとの文字列)を保持する変数。 - // while文を抜けたあとでも使うので、while文の外で宣言しておく。 - String str = ""; + // ============================================================ + // 2日目 段階1:while(true) で「正しい入力が得られるまで繰り返す」 + // ============================================================ + // 何回繰り返すかがあらかじめ決まっていないので、while(true) の + // 無限ループにして、条件を満たしたときに break でループを抜ける + // 作りにする。 + while (true) { - // ============================================================ - // 2日目 段階1:while(true) で「正しい入力が得られるまで繰り返す」 - // ============================================================ - // 何回繰り返すかがあらかじめ決まっていないので、while(true) の - // 無限ループにして、条件を満たしたときに break でループを抜ける - // 作りにする。 - while (true) { + // ---- 1日目 段階3:プロンプトの表示 ---- + // 配列の0番目に入れておいたプロンプト文言を表示する。 + System.out.println(messages[0]); - // ---- 1日目 段階3:プロンプトの表示 ---- - // 配列の0番目に入れておいたプロンプト文言を表示する。 - System.out.println(messages[0]); + str = inputString(); + // ============================================================ + // 2日目 段階2:if文による検証ロジック + // ============================================================ + if (isEmptyInput(str)) { + // 何も入力されていない(または空白のみ入力された)場合 + System.out.println(messages[1]); + // continue で、while文の先頭(プロンプト表示)に戻り、 + // もう一度入力をやり直してもらう。 + continue; + } - str = inputString(); + if (isTooLongInput(str)) { + // 141文字以上入力された場合 + System.out.println(messages[2]); + // continue で、while文の先頭に戻る。 + continue; + } - // ---- 1日目 段階3:比較演算子で真偽値を求める ---- - // 1日目の時点ではif文がまだ使えなかったため、この2つの真偽値は - // 画面に表示して目視確認するだけだった。 - // 2日目からは、この真偽値をそのままif文の条件として使う。 - boolean isEmpty = (str.length() == 0); - boolean isTooLong = (str.length() > 140); + // ここまで到達したということは、 + // 「空文字でもなく、文字数超過でもない」=正しい入力が得られた + // ということなので、break でループを抜ける。 + break; + } - // ============================================================ - // 2日目 段階2:if文による検証ロジック - // ============================================================ - if (isEmpty) { - // 何も入力されていない(または空白のみ入力された)場合 - System.out.println(messages[1]); - // continue で、while文の先頭(プロンプト表示)に戻り、 - // もう一度入力をやり直してもらう。 - continue; - } + // ============================================================ + // 1日目 段階3:投稿完了処理(検証をクリアしたあとの表示) + // ============================================================ + // 空行を1行はさんでから、投稿完了バナーと投稿内容を表示する。 + System.out.println(); + System.out.println(messages[3]); + System.out.println(str); - if (isTooLong) { - // 141文字以上入力された場合 - System.out.println(messages[2]); - // continue で、while文の先頭に戻る。 - continue; - } + } - // ここまで到達したということは、 - // 「空文字でもなく、文字数超過でもない」=正しい入力が得られた - // ということなので、break でループを抜ける。 - break; - } + public static String inputString() { + Scanner scanner = new Scanner(System.in); + return scanner.nextLine().strip(); + } - // ============================================================ - // 1日目 段階3:投稿完了処理(検証をクリアしたあとの表示) - // ============================================================ - // 空行を1行はさんでから、投稿完了バナーと投稿内容を表示する。 - System.out.println(); - System.out.println(messages[3]); - System.out.println(str); - - - } - public static String inputString() { - Scanner scanner = new Scanner(System.in); - return scanner.nextLine().strip(); - } + public static boolean isEmptyInput(String str) { + boolean isEmpty = (str.length() == 0); + return isEmpty; + + } + public static boolean isTooLongInput(String str) { + boolean isTooLong = (str.length() > 140); + return isTooLong; + } + + + }