はじめに
この実験では、Java で文字列が特定の長さを持っているかどうかをチェックする方法を学びます。まずは length()
メソッドを使って文字列の長さを取得する基本的な手順から説明します。次に、この長さを期待値と比較する方法を学び、重要なことに、エラーを防ぐために潜在的な null 文字列をどのように扱うかを学びます。この実験の終わりまでに、Java アプリケーションで堅牢な文字列長チェックを実行する方法をしっかりと理解するようになります。
💡 このチュートリアルは英語版からAIによって翻訳されています。原文を確認するには、 ここをクリックしてください
この実験では、Java で文字列が特定の長さを持っているかどうかをチェックする方法を学びます。まずは length()
メソッドを使って文字列の長さを取得する基本的な手順から説明します。次に、この長さを期待値と比較する方法を学び、重要なことに、エラーを防ぐために潜在的な null 文字列をどのように扱うかを学びます。この実験の終わりまでに、Java アプリケーションで堅牢な文字列長チェックを実行する方法をしっかりと理解するようになります。
このステップでは、Java で length()
メソッドを使って文字列の長さを求める方法を学びます。length()
メソッドは Java の組み込み関数で、文字列の文字数を返します。
まず、~/project
ディレクトリに StringLength.java
という名前の新しい Java ファイルを作成しましょう。左側のファイルエクスプローラーで右クリックして「新しいファイル」を選択し、StringLength.java
と入力することで作成できます。
エディターで 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
変数に格納された値を出力します。ファイルを保存します(Ctrl+S または Cmd+S)。
次に、WebIDE の下部にあるターミナルを開き、~/project
ディレクトリにいることを確認します。必要に応じて cd ~/project
を使うことができます。
javac
コマンドを使って Java プログラムをコンパイルします。
javac StringLength.java
エラーがなければ、何も出力されないはずです。
java
コマンドを使ってコンパイルされた Java プログラムを実行します。
java StringLength
以下の出力が表示されるはずです。
The length of the string is: 13
この出力は、length()
メソッドが「Hello, LabEx!」という文字列の文字数を正しく計算したことを確認しています。文字数は 13 です。
Java で length()
メソッドを使って文字列の長さを求めることに成功しました!
前のステップでは、文字列の長さを取得する方法を学びました。今回は、この知識を使って文字列の長さを期待値と比較する方法を学びます。これはプログラミングでよく行われるタスクで、たとえばパスワードが最小長要件を満たしているかどうかをチェックする際に使われます。
前のステップで作成した StringLength.java
ファイルを修正します。
WebIDE のエディターで StringLength.java
ファイルを開きます。
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
文は passwordLength
が minLength
以上かどうかをチェックします。passwordLength >= minLength
) が真の場合、if
ブロック内のコードが実行され、成功メッセージが出力されます。else
ブロック内のコードが実行され、失敗メッセージが出力されます。ファイルを保存します(Ctrl+S または Cmd+S)。
ターミナルを開き、~/project
ディレクトリにいることを確認します。
修正した Java プログラムをコンパイルします。
javac StringLength.java
再び、出力がない場合はコンパイルが成功したことを意味します。
プログラムを実行します。
java StringLength
現在の password
と minLength
に基づいて、以下のような出力が表示されるはずです。
Password: mysecretpassword
Password length: 16
Minimum required length: 8
Password meets the minimum length requirement.
コード内の password
文字列を 8 文字未満のもの(たとえば "short"
)に変更し、ファイルを保存して再コンパイルし、再度実行すると、else
ブロックが実行されるのを確認できます。
これで、if
文を使って文字列の長さを特定の値と比較する方法を学びました!
前のステップでは、実際の文字値を持つ文字列で作業しました。しかし、プログラミングでは、文字列変数には時々 null
と呼ばれる特殊な値が設定されることがあります。null
値は、その変数が何のオブジェクトも参照していないことを意味します。null
文字列に対して length()
のようなメソッドを呼び出そうとすると、プログラムは NullPointerException
でクラッシュします。
このステップでは、文字列の長さを取得する前に、null
文字列を安全に扱う方法を学びます。
WebIDE のエディターで StringLength.java
ファイルを開きます。
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
に設定しました。if
文 if (potentialString != null)
を追加しました。これは potentialString
変数が null
でないかどうかをチェックします。potentialString.length()
) とそれに続く長さの比較は、この if
ブロックの中にあります。これにより、文字列が null
でない場合にのみ length()
が呼び出されることが保証されます。if
文の else
ブロックは、文字列が null
の場合を処理し、長さをチェックできないことを示すメッセージを出力します。ファイルを保存します(Ctrl+S または Cmd+S)。
ターミナルを開き、~/project
ディレクトリにいることを確認します。
修正した Java プログラムをコンパイルします。
javac StringLength.java
出力がない場合はコンパイルが成功したことを意味します。
プログラムを実行します。
java StringLength
potentialString
が null
なので、以下の出力が表示されるはずです。
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 プログラミングにおける様々な文字列操作や検証に不可欠です。