查找 Java 中的最大数
Finding largest number in Java
我正在尝试使用整数参数在 java 中查找大数。我将整数值转换为字符串,但问题是,它在 运行 上失败并且没有显示预期的结果。
情况如下:
给定一个整数 n,它 returns 只有当 n 不为零时,它才 returns 恰好包含 n 位数字的最大数字。
- 对于 n = 1,输出应为 largestNumber(n) = "9"。
- 对于 n = 2,输出应该是 largestNumber(n) = "99"。
- 对于 n = 3,输出应该是 largestNumber(n) = "999"。
- 对于 n =0,输出应该是 largestNumber(n) = "-1"。
约束条件
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();
}
我正在尝试使用整数参数在 java 中查找大数。我将整数值转换为字符串,但问题是,它在 运行 上失败并且没有显示预期的结果。
情况如下:
给定一个整数 n,它 returns 只有当 n 不为零时,它才 returns 恰好包含 n 位数字的最大数字。
- 对于 n = 1,输出应为 largestNumber(n) = "9"。
- 对于 n = 2,输出应该是 largestNumber(n) = "99"。
- 对于 n = 3,输出应该是 largestNumber(n) = "999"。
- 对于 n =0,输出应该是 largestNumber(n) = "-1"。
约束条件 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();
}