-3

この質問には、先頭にゼロが付いた数字と、通常は 16 進数 (09 など) としてカウントされる数字が含まれます。ユーザー入力は整数であると仮定します。これは、数字を関数に整数として渡すためです。

例えば

  • ユーザーが 5 を入力した場合、1 を取得する必要があります
  • ユーザーが 0005 を入力した場合、4 を取得する必要があります
  • ユーザーが 09 を入力した場合、2 を取得する必要があります

(注)以下の方法は動作しません:

String.valueOf(integer).length()
4

2 に答える 2

1

ユーザー入力はおそらくString既になので、そのまま使用できますString.length()。例えば:

public static void main(String... args) {
    Scanner in = new Scanner(System.in);
    String number = in.next();
    int numDigits = number.length();
    System.out.println(numDigits);
}

入力が整数の場合、先行ゼロを持つことはできません。初期入力にゼロがあり、ある時点でそれを整数に変換した場合、この情報は失われます。

于 2015-03-21T18:25:50.070 に答える