我在“线程”中收到此错误消息异常;“主要”;java.util.InputMismatchException
我收到以下信息,不知道为什么我在“线程”中收到此错误消息异常;“主要”;java.util.InputMismatchException,java,Java,我收到以下信息,不知道为什么 public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int a = sc.nextInt(); System.out.println(a); } } 我想知道如何解决此问题。999999999999太大,无法装入int 如果需要支持大于214748364
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int a = sc.nextInt();
System.out.println(a);
}
}
我想知道如何解决此问题。
999999999999
太大,无法装入int
如果需要支持大于2147483647的数字,请使用或
long
最多可以处理9223372036854775807的值
没有指定的限制。
999999999999999
太大,无法装入int
如果需要支持大于2147483647的数字,请使用或
long
最多可以处理9223372036854775807的值
没有指定的限制。替换
Exception in thread "main" java.util.InputMismatchException: For input string: "999999999999999"
at java.util.Scanner.nextInt(Scanner.java:2123)
at java.util.Scanner.nextInt(Scanner.java:2076)
at codingexercises.Main.main(Main.java:9)
与
在Java中,确定数据类型的表示形式
顺序是:字节8位,短16位,int 32位,长64位。所有这些类型都是有符号的,没有未签名的版本。但是,位操作将数字视为无符号(即正确处理所有位)
字符数据类型char为16位宽、无符号,并使用UTF-16编码保存字符(但是,可以为字符分配表示无效字符码点的任意无符号16位整数)
替换
Exception in thread "main" java.util.InputMismatchException: For input string: "999999999999999"
at java.util.Scanner.nextInt(Scanner.java:2123)
at java.util.Scanner.nextInt(Scanner.java:2076)
at codingexercises.Main.main(Main.java:9)
与
在Java中,确定数据类型的表示形式
顺序是:字节8位,短16位,int 32位,长64位。所有这些类型都是有符号的,没有未签名的版本。但是,位操作将数字视为无符号(即正确处理所有位)
字符数据类型char为16位宽、无符号,并使用UTF-16编码保存字符(但是,可以为字符分配表示无效字符码点的任意无符号16位整数)
请尝试使用以下代码。这将有助于解决您的问题:
width minimum maximum
SIGNED
byte: 8 bit -128 +127
short: 16 bit -32 768 +32 767
int: 32 bit -2 147 483 648 +2 147 483 647
long: 64 bit -9 223 372 036 854 775 808 +9 223 372 036 854 775 807
UNSIGNED
char 16 bit 0 +65 535
请尝试使用以下代码。这将有助于解决您的问题:
width minimum maximum
SIGNED
byte: 8 bit -128 +127
short: 16 bit -32 768 +32 767
int: 32 bit -2 147 483 648 +2 147 483 647
long: 64 bit -9 223 372 036 854 775 808 +9 223 372 036 854 775 807
UNSIGNED
char 16 bit 0 +65 535
因为您输入的数字太大,请使用long而不是int。因为您输入的数字太大,请使用long而不是int。
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
BigInteger a = sc.nextBigInteger();
System.out.println(a);
}