gpt4 book ai didi

java - 打印一个超出范围的数字

转载 作者:行者123 更新时间:2023-11-29 06:56:55 24 4
gpt4 key购买 nike

当我运行此代码并使用大于 long 范围的值时,输出为“0 can't be fitted anywhere”。我想输出:“x(我给出的输入超出了 long 的范围)无法在任何地方安装”

import java.util.*;
import java.io.*;

class Solution {
public static void main(String[] argh) {
Scanner sc = new Scanner(System.in);
int t = sc.nextInt();

for (int i = 0; i < t; i++) {
long x = 0;
try {
x = sc.nextLong();
System.out.println(x + " can be fitted in:");
if (x >= -128 && x <= 127)
System.out.println("* byte");
if (x >= -32768 && x <= 32767)
System.out.println("* short");
if (x >= -2147483648 && x <= 2147483647)
System.out.println("* int");
if (x >= -9223372036854775808l && x <= 9223372036854775807l)
System.out.println("* long");

// Complete the code
} catch (Exception e) {
System.out.println(x + " can't be fitted anywhere.");
}

}
}
}

最佳答案

如果数字超出了 long 的范围,则不能使用 long

使用类 BigInteger没有这种限制。

来自javadoc:

Immutable arbitrary-precision integers

关于java - 打印一个超出范围的数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32779030/

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