Java

【Java】文字列が数値かどうかチェックする方法

uhablog

こんにちは、大学時代にプログラミングの勉強を始め現在はエンジニアをしているuhablogです。
当ブログでは現役エンジニアがプログラミング初学者の方向けにプログラミングの学習法を発信しています。

今回の記事ではJavaのString型の文字列が数値であるかどうかをチェックする方法について解説していきます。

チェックする方法には様々な方法がありますが、今回は正規表現を使う方法とCharacterのisDegitメソッドを利用した方法を実際のコードを用いて解説します。
ぜひ最後まで読んでいってください!

\\一流講師に学ぼう!!//

UdemyでJavaを学ぶ!!

返金保証付き

正規表現を使って文字列が数値かどうかチェックする

まずは正規表現を使って文字列が数値かどうかチェックする方法について解説していきます。

正規表現を使う方法では整数だけ許容する方法や正の数だけ許容する方法など様々な方法がありますが、今回は正と負の整数である場合にtrueを返すようなチェックをしていきます。

サンプルコード

import java.util.regex.Pattern;

public class IsNumber {

    public static void main(String[] args) {
		
        // チェック対象の文字列
        String text1 = "123a";
        String text2 = "1234";
		
        // 検証結果を格納する変数
        boolean result = true;
		
        // text1をチェックして結果を取得
        result = checkString(text1);
        System.out.println("text1: " + result);
		
        // text2をチェックして結果を取得
        result = checkString(text2);
        System.out.println("text2: " + result);
    }
	
    // 引数で受け取った文字列が数値かどうか正規表現でチェックするメソッド
    public static boolean checkString(String text) {
		
        boolean res = true;
		
        Pattern pattern = Pattern.compile("^[0-9]+$|-[0-9]+$");
        res = pattern.matcher(text).matches();
		
        return res;
    }
}

実行結果

text1: false
text2: true

今回は正と負の整数のチェックを行いました。正規表現を使うことで、さまざまな条件でチェックすることができます!

Java初心者の方へ

Character.isDigitメソッドを使って文字列が数値かどうかチェックする

次にCharacter.isDigitメソッドを使って文字列が数値かどうかチェックする方法について解説します。

Character.isDigitメソッドは引数にchar型の値を渡すことで数値かどうかチェックすることができます。

これを利用して文字列を先頭から1文字ずつチェックし、文字列全体が数値かどうかチェックします。

実際のコードを確認は次のようになります。

サンプルコード

public class IsNumber {

    public static void main(String[] args) {
		
        // チェック対象の文字列
        String text1 = "1234";
        String text2 = "123a";
		
        // 検証結果を格納する変数
        boolean result = true;
		
        // text1をチェックして結果を取得
        result = checkString(text1);
        System.out.println("text1: " + result);
		
        // text2をチェックして結果を取得
        result = checkString(text2);
        System.out.println("text2: " + result);
    }
	
    // 文字列が数値かどうかチェックする関数
    public static boolean checkString(String text) {
		
        boolean res = true;
		
        // 受け取った文字列を先頭から1文字ずつチェックする
        for(int i = 0; i < text.length(); i++) {
			
            // もし数値だったら次の処理へ
            if(Character.isDigit(text.charAt(i))) {
                continue;
            } else {
            // 変数にfalseを代入して処理を終了する
                res =  false;
                break;
            }
        }
		
        return res;
    }
}

実行結果

text1: true
text2: false

Charcter.isDigitメソッドに一文字づつ渡すことで、数値かどうか判定することができる!

今回はJavaで文字列が数値かどうかチェックする方法について解説しました。

Javaで文字列が数値かどうかチェックする方法にはいろいろな種類がありますが、今回は正規表現でチェックする方法とCharacter.isDigitメソッドを使う方法について解説しました。

プログラミング学習はUdemyがおすすめ

私はプログラミングの学習はUdemyで行うのが一番おすすめです。
Udemyでは動画講座でプログラミングなどのスキルを身につけることができます。
現役エンジニアがUdemyをオススメする理由は
・動画で好きなときに学べる
・一流の講師に学ぶことができる
・講師の方に質問ができる
・返金保証もある
・セールを頻繁に開催している
といったたくさんの理由があります。

現在Udemyではセールを開催しています!
通常時1万円から2万円前後の価格で講座が販売されていますが、セール時には1500円前後(ランチ代くらい)で一つの講座を購入することができます。
UdemyにはサーブレットでWebアプリ開発が学べる講座iconもあるので、JavaでWebアプリ開発する方法を学んでみたい!という方は今がチャンスです!

\\今ならセール開催中!//

Udemyでサーブレット&jspを学ぶ!!

返金保証付き

独学が不安な人へ

独学で学んでいく意志がある方にはUdemyなどで学習するのがおすすめですが、プログラミングを独学するにはそれなりにハードルがあります。

  • プログラミングで一度挫折した経験がある
  • 一人で学習する自信がないので、サポートが欲しい

という方にはプログラミングスクールを検討してみるのがおすすめです。

-Java
-, , , ,