Javaで文字列に含まれる大文字をすべて抽出・出力する方法
Javaでは、CharacterクラスのisUpperCase()メソッドを利用することで、文字列の中から大文字だけを簡単に取り出して出力できます。この記事では、その基本的な考え方と具体的な実装方法をサンプルコード付きで解説します。
Characterクラスとは
Characterクラスは、Objectクラスのサブクラスであり、プリミティブ型であるcharの値をオブジェクトとしてラップするラッパークラスです。Character型のオブジェクトは、char型のフィールドを1つだけ持ちます。
このクラスには、文字の種類を判定するための便利なstaticメソッドが多数用意されており、isUpperCase()もそのひとつです。
大文字を判定する仕組み
文字列に含まれるすべての大文字を出力するには、以下の手順で処理を行います。
- forループなどで文字列の各文字を先頭から順に取り出す
- charAt()メソッドで指定位置の文字を取得する
- isUpperCase()メソッドでその文字が大文字かどうかを判定する
- 大文字であれば出力する
構文
public static boolean isUpperCase(char ch)
引数に渡された文字が大文字の場合はtrue、それ以外の場合はfalseを返します。
サンプルコード
public class PrintUpperCaseLetterStringTest {
public static void main(String[] args) {
String str = "Welcome To Tutorials Point India";
for(int i = 0; i < str.length(); i++) {
if(Character.isUpperCase(str.charAt(i))) {
System.out.println(str.charAt(i));
}
}
}
}実行結果
W T T P I
コードのポイント
- str.length():文字列の長さを取得し、ループの回数を決定します。
- str.charAt(i):インデックスiの位置にある1文字をchar型で返します。
- Character.isUpperCase():staticメソッドのため、「Character.isUpperCase(文字)」の形式で直接呼び出せます。インスタンスの生成は不要です。
このように、ループとisUpperCase()メソッドを組み合わせるだけで、文字列から大文字のみを効率的に抽出できます。同様のアプローチで、isLowerCase()メソッドを使えば小文字の抽出も可能です。
-
JavaでJPasswordFieldのエコー文字を表示・非表示に切り替える方法
JPasswordFieldとはJPasswordFieldは、Swingのテキスト入力コンポーネントであるJTextFieldのサブクラスです。このフィールドに入力された各文字は、エコー文字(マスク文字)に置き換えて表示されるため、パスワードなどの機密情報を安全に入力できます。デフォルトのエコー文字はアスタリスク(*)です。JPasswordFieldの主なメソッドには、getPassword()、getText()、getAccessibleContext()などがあります。エコー文字の表示・非表示を切り替える仕組みデフォルト状態のJPasswordFieldは、入力内容をエコー文字でマス
-
JavaでJFrameの最大化ボタンを無効化する方法を解説
JFrameは、javax.swingパッケージに属するクラスで、java.awt.Frameクラスを継承しています。境界線とタイトルバーを持つトップレベルウィンドウであり、JFrameクラスには外観や動作をカスタマイズするための多数のメソッドが用意されています。JFrameのサイズを設定した後でも、デフォルトの状態ではユーザーが自由にウィンドウサイズを変更できてしまいます。具体的には、カーソルをウィンドウの隅に合わせてドラッグすればサイズを変更できますし、右上にある閉じるボタンの隣の「最大化」ボタンを押せば、画面いっぱいに拡大されてしまいます。これは、JFrameクラスではリサイズ(resi