こんにちは、私はプログラミングに新しいですので、私はいくつかの助けが必要です。誕生日が正しいかどうかを確認する方法を作る必要があります。例えば960214の場合、96は02年、14は日ですが、誕生日は文字列です。だからここに私が得たものである:それはtrueを返すべきところ、それはfalseを返すのでCharacter.IsDigitは、整数で真ではなく偽を返します。
private static boolean checkCorrect(String a) {
int year = Integer.parseInt(a.substring(0,2));
int month = Integer.parseInt(a.substring(2, 4));
int day = Integer.parseInt(a.substring(4, 6));
if (a.length() == 6 && Character.isDigit(year)) {
return true;
} else
return false;
}
は、今私はCharacter.isDigit(年)で停止。私は何が出てくるのかを見るために年を印刷しました。そして、上の例のように96が出てきます。私は間違って何をしていますか?
あなたをしました* * [Charactのjavadocを読み込むer.isDigit(int codePoint) '](https://docs.oracle.com/javase/8/docs/api/java/lang/Character.html#isDigit-int-)? *指定された文字(Unicodeコードポイント)**が数字*であるかどうかを判定します。 'year'は数値であり、Unicodeコードポイントではありません。 – Andreas
私がプログラミングに新しいと言ったように、文字が数字の場合は真、そうでない場合は偽を読んでいます。数字は数字ではありませんか? – Sevajper
isDigit()が数字に対して何をすると思うか想像もできません。数字はどうやって「数字」ではないのですか?また、あなたはちょうどそれをあなた自身が言った:* "**文字**が数字であれば真、そうでなければ偽" * – Andreas