Cómo devolver de manera eficiente el entero máximo posible con un número determinado de dígitos

LogicNewbie:

Por ejemplo, ¿cuál sería la forma más eficiente para obtener por ejemplo 999si se les da una nque es igual a 3, por ejemplo.

Esto es lo que tengo en este momento, pero me preguntaba si había una manera más elegante.

public static int largestPossibleNumber(int numDigits) {
  return Integer.parseInt(new String(new char[numDigits]).replace("\0", "9"));
}

Ejemplo de Uso:

for (int i = 1; i <= 5; i++) {
  System.out.println(largestPossibleNumber(i));
}

Salida:

9
99
999
9999
99999
Dmitry Bychenko:

Usted tiene sólo 8 respuestas válidas, por lo que puede codificar ellos:

  private static int[] s_Numbers = {
    0, 9, 99, 999, 9999, 99999, 999999, 9999999, 99999999};

  private static int largestPossibleNumber(int n) {
    return s_Numbers[n];
  }

Supongo que te gusta

Origin http://43.154.161.224:23101/article/api/json?id=204241&siteId=1
Recomendado
Clasificación