Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/laravel/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
我在“线程”中收到此错误消息异常;“主要”;java.util.InputMismatchException_Java - Fatal编程技术网

我在“线程”中收到此错误消息异常;“主要”;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);
    }