Java で文字列が特定の長さかどうかをチェックする方法

JavaJavaBeginner
今すぐ練習

💡 このチュートリアルは英語版からAIによって翻訳されています。原文を確認するには、 ここをクリックしてください

はじめに

この実験では、Java で文字列が特定の長さを持っているかどうかをチェックする方法を学びます。まずは length() メソッドを使って文字列の長さを取得する基本的な手順から説明します。次に、この長さを期待値と比較する方法を学び、重要なことに、エラーを防ぐために潜在的な null 文字列をどのように扱うかを学びます。この実験の終わりまでに、Java アプリケーションで堅牢な文字列長チェックを実行する方法をしっかりと理解するようになります。


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL java(("Java")) -.-> java/BasicSyntaxGroup(["Basic Syntax"]) java(("Java")) -.-> java/StringManipulationGroup(["String Manipulation"]) java(("Java")) -.-> java/SystemandDataProcessingGroup(["System and Data Processing"]) java/BasicSyntaxGroup -.-> java/if_else("If...Else") java/StringManipulationGroup -.-> java/strings("Strings") java/SystemandDataProcessingGroup -.-> java/string_methods("String Methods") subgraph Lab Skills java/if_else -.-> lab-559984{{"Java で文字列が特定の長さかどうかをチェックする方法"}} java/strings -.-> lab-559984{{"Java で文字列が特定の長さかどうかをチェックする方法"}} java/string_methods -.-> lab-559984{{"Java で文字列が特定の長さかどうかをチェックする方法"}} end

length() を使って文字列の長さを取得する

このステップでは、Java で length() メソッドを使って文字列の長さを求める方法を学びます。length() メソッドは Java の組み込み関数で、文字列の文字数を返します。

  1. まず、~/project ディレクトリに StringLength.java という名前の新しい Java ファイルを作成しましょう。左側のファイルエクスプローラーで右クリックして「新しいファイル」を選択し、StringLength.java と入力することで作成できます。

  2. エディターで StringLength.java ファイルを開き、以下のコードを追加します。

    public class StringLength {
        public static void main(String[] args) {
            String greeting = "Hello, LabEx!";
            int length = greeting.length();
            System.out.println("The length of the string is: " + length);
        }
    }

    新しい部分を見てみましょう。

    • String greeting = "Hello, LabEx!";: この行では、String 型の greeting という名前の変数を宣言し、それに "Hello, LabEx!" という値を代入しています。
    • int length = greeting.length();: ここで length() メソッドを使っています。greeting 文字列に対して length() を呼び出すと、文字数(スペースや句読点を含む)が返されます。この数値は length という名前の整数型変数に格納されます。
    • System.out.println("The length of the string is: " + length);: この行では、「The length of the string is: 」というテキストの後に length 変数に格納された値を出力します。
  3. ファイルを保存します(Ctrl+S または Cmd+S)。

  4. 次に、WebIDE の下部にあるターミナルを開き、~/project ディレクトリにいることを確認します。必要に応じて cd ~/project を使うことができます。

  5. javac コマンドを使って Java プログラムをコンパイルします。

    javac StringLength.java

    エラーがなければ、何も出力されないはずです。

  6. java コマンドを使ってコンパイルされた Java プログラムを実行します。

    java StringLength

    以下の出力が表示されるはずです。

    The length of the string is: 13

    この出力は、length() メソッドが「Hello, LabEx!」という文字列の文字数を正しく計算したことを確認しています。文字数は 13 です。

Java で length() メソッドを使って文字列の長さを求めることに成功しました!

文字列の長さを期待値と比較する

前のステップでは、文字列の長さを取得する方法を学びました。今回は、この知識を使って文字列の長さを期待値と比較する方法を学びます。これはプログラミングでよく行われるタスクで、たとえばパスワードが最小長要件を満たしているかどうかをチェックする際に使われます。

前のステップで作成した StringLength.java ファイルを修正します。

  1. WebIDE のエディターで StringLength.java ファイルを開きます。

  2. main メソッドを修正して比較を行うようにします。既存の main メソッドを以下のコードに置き換えます。

    public class StringLength {
        public static void main(String[] args) {
            String password = "mysecretpassword";
            int minLength = 8; // Minimum required length
    
            int passwordLength = password.length();
    
            System.out.println("Password: " + password);
            System.out.println("Password length: " + passwordLength);
            System.out.println("Minimum required length: " + minLength);
    
            if (passwordLength >= minLength) {
                System.out.println("Password meets the minimum length requirement.");
            } else {
                System.out.println("Password does NOT meet the minimum length requirement.");
            }
        }
    }

    変更点を見てみましょう。

    • 文字列変数名を password に変更し、別の値を代入しました。
    • 最小必要長を格納するための新しい整数型変数 minLength を導入しました。
    • 前と同じように length() メソッドを使って passwordLength を計算します。
    • if 文を追加しました。if 文は passwordLengthminLength 以上かどうかをチェックします。
    • 条件 (passwordLength >= minLength) が真の場合、if ブロック内のコードが実行され、成功メッセージが出力されます。
    • 条件が偽の場合、else ブロック内のコードが実行され、失敗メッセージが出力されます。
  3. ファイルを保存します(Ctrl+S または Cmd+S)。

  4. ターミナルを開き、~/project ディレクトリにいることを確認します。

  5. 修正した Java プログラムをコンパイルします。

    javac StringLength.java

    再び、出力がない場合はコンパイルが成功したことを意味します。

  6. プログラムを実行します。

    java StringLength

    現在の passwordminLength に基づいて、以下のような出力が表示されるはずです。

    Password: mysecretpassword
    Password length: 16
    Minimum required length: 8
    Password meets the minimum length requirement.

    コード内の password 文字列を 8 文字未満のもの(たとえば "short")に変更し、ファイルを保存して再コンパイルし、再度実行すると、else ブロックが実行されるのを確認できます。

これで、if 文を使って文字列の長さを特定の値と比較する方法を学びました!

長さチェックで null 文字列を扱う

前のステップでは、実際の文字値を持つ文字列で作業しました。しかし、プログラミングでは、文字列変数には時々 null と呼ばれる特殊な値が設定されることがあります。null 値は、その変数が何のオブジェクトも参照していないことを意味します。null 文字列に対して length() のようなメソッドを呼び出そうとすると、プログラムは NullPointerException でクラッシュします。

このステップでは、文字列の長さを取得する前に、null 文字列を安全に扱う方法を学びます。

  1. WebIDE のエディターで StringLength.java ファイルを開きます。

  2. main メソッドを修正して null チェックを追加します。既存の main メソッドを以下のコードに置き換えます。

    public class StringLength {
        public static void main(String[] args) {
            String potentialString = null; // This string is null
            int minLength = 5; // Minimum required length
    
            System.out.println("String to check: " + potentialString);
            System.out.println("Minimum required length: " + minLength);
    
            if (potentialString != null) {
                int stringLength = potentialString.length();
                System.out.println("String length: " + stringLength);
    
                if (stringLength >= minLength) {
                    System.out.println("String meets the minimum length requirement.");
                } else {
                    System.out.println("String does NOT meet the minimum length requirement.");
                }
            } else {
                System.out.println("Cannot check length: The string is null.");
            }
        }
    }

    変更点を見てみましょう。

    • 変数名を potentialString に変更し、最初にその値を null に設定しました。
    • 外側の ifif (potentialString != null) を追加しました。これは potentialString 変数が null でないかどうかをチェックします。
    • 長さを取得するコード (potentialString.length()) とそれに続く長さの比較は、この if ブロックの中にあります。これにより、文字列が null でない場合にのみ length() が呼び出されることが保証されます。
    • 外側の if 文の else ブロックは、文字列が null の場合を処理し、長さをチェックできないことを示すメッセージを出力します。
  3. ファイルを保存します(Ctrl+S または Cmd+S)。

  4. ターミナルを開き、~/project ディレクトリにいることを確認します。

  5. 修正した Java プログラムをコンパイルします。

    javac StringLength.java

    出力がない場合はコンパイルが成功したことを意味します。

  6. プログラムを実行します。

    java StringLength

    potentialStringnull なので、以下の出力が表示されるはずです。

    String to check: null
    Minimum required length: 5
    Cannot check length: The string is null.

    次に、potentialString の値を "Java" のような非 null 文字列に変更し、保存して再コンパイルし、再度実行してみましょう。長さチェックが行われるのが確認できるはずです。

    String potentialString = "Java"; // This string is not null

    再コンパイルして実行した後、以下のような出力が表示されます。

    String to check: Java
    Minimum required length: 5
    String length: 4
    String does NOT meet the minimum length requirement.

    これは、メソッドを呼び出す前に null 文字列を安全に扱い、プログラムのクラッシュを防ぐ方法を示しています。

まとめ

この実験では、Java の組み込み length() メソッドを使用して文字列の長さを求める方法を学びました。Java プログラムの作成、length() メソッドを使用した文字列の文字数の取得、そしてプログラムのコンパイルと実行、出力の確認を行いました。この基本的なスキルは、Java プログラミングにおける様々な文字列操作や検証に不可欠です。