gpt4 book ai didi

java - 如何使用 public static main void (String args[]) 检查用户输入是否超过 Int 限制

转载 作者:行者123 更新时间:2023-12-02 12:00:09 25 4
gpt4 key购买 nike

这是我到目前为止所写的内容:

public class CheckNum {

public static void main (String args[]) {
for (int i = 0; i < args.length; i++) {
if (Integer.parseInt(args[i]) > Integer.MAX_VALUE) {
System.out.println("Input value is too big");
}

}
}

}

但是,当我在 Linux 中输入一个数字时,它会超过整数最大值,如下所示:

java CheckNum 1234567890

我在 parseInt 处收到 NumberFormats 错误,我猜测这是因为即使在与 Integer 的最大值进行比较之前也无法将太大的数字转换为 Integer。是否有另一种方法可以仅使用 String args[] 上的输入来检查输入的数字对于整数是否太大?

最佳答案

您可以按照@AxelH的建议捕获异常或尝试以下建议

您可以将输入转换为 Long,然后检查该值是否大于 Integer 的最大值。

public static void main(String[] args) {
Long l = Long.parseLong(args[0]);
if(l > Integer.MAX_VALUE){
System.out.println("Value can't be handled by Integer");
} else{
System.out.println("Proper Integer");
}

}

请注意,如果输入无法解析为 Long,您仍然可能会收到 NumberFormatException。

如果输入可以变得更大,则使用BigInteger bi = new BigInteger(args[0]);

如果您想了解如何操作 BigInteger 的详细信息请参阅 BigInteger 的文档 here

关于java - 如何使用 public static main void (String args[]) 检查用户输入是否超过 Int 限制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47325503/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com