Java
 Computer >> コンピューター >  >> プログラミング >> Java

文字がアルファベットかどうかを判定するJavaプログラムの作成方法


はじめに

この記事では、Javaを使って「ある1文字がアルファベットかどうか」を判定するプログラムの作成方法を解説します。判定の考え方はシンプルで、対象の文字が小文字の「a」〜「z」、あるいは大文字の「A」〜「Z」の範囲内に含まれているかどうかを確認します。

以下に、実際の入力と出力の例を示します。

入力

キーボードから文字「H」を入力した場合:

文字を入力してください:H

出力

文字 H はアルファベットです

アルゴリズム

ステップ1 - 処理を開始する
ステップ2 - 文字型変数 my_input を宣言する
ステップ3 - ユーザーから値を読み込む、または値を定義する
ステップ4 - 比較演算子「>=」「<=」を使用し、if-else文で入力値が 'a'〜'z' または 'A'〜'Z' の範囲にあるかを判定する。条件が真ならアルファベット、偽ならアルファベットではないと判断する
ステップ5 - 判定結果を表示する
ステップ6 - 処理を終了する

例1:Scannerでユーザー入力を受け付ける場合

この例では、Scannerクラスを使ってユーザーがキーボードから入力した文字を取得し、それがアルファベットかどうかを判定します。

import java.util.Scanner;
public class Alphabet {
   public static void main(String[] args) {
      char my_input;
      System.out.println("必要なパッケージがインポートされました");
      Scanner my_scanner = new Scanner(System.in);
      System.out.println("読み取り用オブジェクトが定義されました");
      System.out.print("文字を入力してください : ");
      my_input = my_scanner.next().charAt(0);
      if( (my_input >= 'a' && my_input <= 'z') || (my_input >= 'A' && my_input <= 'Z'))
         System.out.println("文字 " + my_input + " はアルファベットです");
      else
         System.out.println("文字 " + my_input + " はアルファベットではありません");
   }
}

実行結果

必要なパッケージがインポートされました
読み取り用オブジェクトが定義されました
文字を入力してください : H
文字 H はアルファベットです

例2:値をあらかじめ定義しておく場合

次の例では、判定対象の文字をプログラム内で事前に定義し、その判定結果をコンソールに表示します。入力処理が不要なため、動作確認や学習用に手軽に試せるのが特徴です。

public class Alphabet {
   public static void main(String[] args) {
      char my_input;
      my_input = 'H';
      System.out.println("定義された文字 : " + my_input);
      if( (my_input >= 'a' && my_input <= 'z') || (my_input >= 'A' && my_input <= 'Z'))
         System.out.println("文字 " + my_input + " はアルファベットです。");
      else
         System.out.println("文字 " + my_input + " はアルファベットではありません。");
   }
}

実行結果

定義された文字 : H
文字 H はアルファベットです。

補足:Character.isLetter()メソッドを使う方法

Javaの標準ライブラリには、文字がアルファベットかどうかを簡単に判定できる Character.isLetter() メソッドが用意されています。比較演算子を使うよりもコードが簡潔になります。

public class AlphabetCheck {
   public static void main(String[] args) {
      char my_input = 'H';
      if (Character.isLetter(my_input)) {
         System.out.println("文字 " + my_input + " はアルファベットです");
      } else {
         System.out.println("文字 " + my_input + " はアルファベットではありません");
      }
   }
}

ただし、Character.isLetter() はUnicodeの文字カテゴリに基づいて判定するため、「あ」や「ア」などの日本語の文字に対してもtrueを返す点に注意してください。半角英字(a〜z、A〜Z)のみを厳密に判定したい場合は、本記事のメインで紹介した比較演算子による方法が適しています。


  1. Javaで回文を判定するプログラムの書き方【数値・文字列の実例付き】

    回文(パリンドローム)とは、逆から読んでも同じになる文字列や数値のことです。たとえば、121、313、525 といった数値や、「aba」「wow」のような文字列が回文に該当します。この記事では、Javaを使って回文を判定する方法を、数値の場合と文字列の場合の2つのパターンに分けて、サンプルコードと実行結果とともにわかりやすく解説します。回文数をチェックする方法数値が回文かどうかを判定するには、元の数値を1桁ずつ取り出して逆順に組み立て直し、元の値と比較します。具体的には、剰余演算(%10)で末尾の桁を取り出し、それを結果変数に10倍しながら加算していくことで反転した数値を作れます。サンプルコー

  2. Pythonでリストが空かどうかを判定するプログラム

    Pythonでは、リストが空かどうかを簡単に判定できます。この記事では、空のリストが与えられたときに、それが空であるかどうかを確認する方法を紹介します。ポイントは、暗黙的(implicit)な判定方法を使うことです。Pythonでは、空のリストはブール値として「偽(False)」と評価されるため、if not を使うことで簡潔にチェックできます。 アルゴリズム ステップ1:空のリストを用意します。 ステップ2:リストが空であれば 1 を返し、そうでなければ 0 を返します。 サンプルコード # リストが空かどうかをチェックするPythonコード def checklist(A):