入力された整数に1がある場合はtrueを返し、そうでない場合はfalseを返すメソッドを作成しようとしています。入力された番号に1が付いていないか、1で終わっている場合は正しく動作します。しかし、intの最後の数字が1つでもない場合は、誤ってfalseを返します。どんなアイデアが間違っていますか?ここに私のスクリプトは次のとおりです。 Javaメソッド:整数が1を含む
public static boolean hasOne(int n) {
boolean retval = false;
if (n % 10 == 1) {
retval = true;
} else {
dropLastDig(n);
}
return retval;
}
public static void dropLastDig(int input) {
int newNum = input/10;
if (newNum > 0) {
hasOne(newNum);
}
}
1000年
が234がfalseを返す必要があります
3がfalseを返す必要があります
1がtrueを返す必要があります
211がtrueを返すtrueを返す必要があります
あなたは何を意味しますか「持っている?」 '1000'は数えますか? – ThomasEdwin
正しいです – Hnorth
ヒント: 'hasOne'のelse部分を実行すると、戻り値は常に' false'になります – Henry