Javaで特定の文字が数字か文字かを判定する方法(Character.isDigitの使い方)
CharacterクラスはObjectクラスのサブクラスであり、プリミティブ型charの値をオブジェクトとしてラップする役割を持っています。Character型のオブジェクトは、char型の値を保持する単一のフィールドを持ちます。
文字列の中に含まれる特定の文字が「数字」なのか「文字」なのかを判定したい場合は、CharacterクラスのisDigit()メソッドを利用するのが便利です。isDigit()メソッドはstaticメソッドとして定義されており、引数に渡された指定の文字が数字(digit)であるかどうかを判定し、その結果をboolean型(true/false)として返します。
なお、逆に文字が英字であるかどうかを確認したい場合には、同じくCharacterクラスに用意されているisLetter()メソッドを組み合わせることで、より厳密な判定を行うことも可能です。
サンプルコード
public class CharacterIsNumberOrDigitTest {
public static void main(String[] args) {
String str = "Tutorials123";
for(int i=0; i < str.length(); i++) {
Boolean flag = Character.isDigit(str.charAt(i));
if(flag) {
System.out.println("'"+ str.charAt(i)+"' は数字です");
}
else {
System.out.println("'"+ str.charAt(i)+"' は文字です");
}
}
}
}
実行結果
'T' は文字です 'u' は文字です 't' は文字です 'o' は文字です 'r' は文字です 'i' は文字です 'a' は文字です 'l' は文字です 's' は文字です '1' は数字です '2' は数字です '3' は数字です
このように、charAt()メソッドで文字列から1文字ずつ取り出しながらisDigit()メソッドで判定することで、文字列内の各文字が数字か文字かを簡単に判別できます。ユーザー入力のバリデーションやデータ解析など、実際の開発現場でも幅広く活用できる基本的なテクニックなので、ぜひ覚えておきましょう。
-
Pythonで与えられた数値がフィボナッチ数かどうかを判定する方法
本記事では、与えられた数値がフィボナッチ数であるかどうかを判定する問題の解決策について解説します。 問題の定義 ある数値 n が与えられたとき、その数値がフィボナッチ数であるかどうかを判定します。 第 n 項のフィボナッチ数は、直前の2つのフィボナッチ数の和として定義されることは広く知られています。しかし、フィボナッチ数列には漸化式以外にも興味深い数学的性質があります。 フィボナッチ数の判定条件 ある数値 n がフィボナッチ数であるのは、「5×n² + 4」または「5×n² − 4」のいずれかが完全平方数であるとき、かつそのときに限る この性質を利用すれば、フィボナッチ数列を実際に生成しなくて
-
【Python】与えられた数がフィボナッチ数かどうかを判定する方法を解説
本記事では、以下の問題文に対する解決策について詳しく学んでいきます。 問題の定義 数値 n が与えられたとき、その数がフィボナッチ数であるかどうかを判定します。 ご存知のとおり、n番目のフィボナッチ数は「直前の2つのフィボナッチ数の和」として定義されます。しかし、この漸化式以外にも、フィボナッチ数には興味深い数学的な性質が存在します。 フィボナッチ数の判定に使える重要な性質 ある数 n がフィボナッチ数であるのは、次の条件が成り立つ場合、かつその場合に限られます。 5×n² + 4 が完全平方数である または 5×n² − 4 が完全平方数である つまり、上記のどちらか一方(または両方)が