查找 Java 中的最大数

Finding largest number in Java

我正在尝试使用整数参数在 java 中查找大数。我将整数值转换为字符串,但问题是,它在 运行 上失败并且没有显示预期的结果。

情况如下:

给定一个整数 n,它 returns 只有当 n 不为零时,它才 returns 恰好包含 n 位数字的最大数字。

约束条件 0 ≤ |n| ≤ 10

这是 java 代码:

class Result {
  /*
   * Complete the 'largestNumber' function below.
   *
   * The function is expected to return a STRING.
   * The function accepts INTEGER n as parameter.
   */
public static String largestNumber(int n) { // Write your code here
String res = Integer.toString(n);
return res;
}
                   
}public static void main(String[] args) throws IOException {
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(System.in)); BufferedWriter bufferedWriter = new BufferedWriter(new FileWriter(System.getenv("OUTPUT_PATH")));
int n = Integer.parseInt(bufferedReader.readLine().trim()); String result = Result.largestNumber(n);
        bufferedWriter.write(result);
        bufferedWriter.newLine();
        bufferedReader.close();
        bufferedWriter.close();
    }
}

这里是截图的结果。

您只需重复数字“9”n 次,但 0 返回 -1 除外。

public static String largestNumber(int n) {
     if(n == 0) return "-1";
     // for Java 11+: return "9".repeat(n);
     StringBuilder sb = new StringBuilder(n);
     for(int i = 0; i < n; i++) sb.append('9');
     return sb.toString();
}
public static String largestNumber(int n) {
    if (n == 0)
        return "-1";
    return BigInteger.TEN.pow(n).subtract(BigInteger.ONE).toString();
}