小编use*_*743的帖子

为什么堆栈跟踪包含对 parseInt() 方法的重复调用?

我用 JDK 11.0 编译了以下代码:

import java.util.Scanner;
public class inputWithScanner {
    public static void main(String[] args) {
    Scanner input = new Scanner(System.in);
    System.out.println("Enter your name and roll number");
    String name = input.next();
    Integer rollNumber = Integer.parseInt(input.next());
    input.close();
    if (name.isEmpty())
        System.out.println("oops! You didnt enter your name");
    if (rollNumber < 0)
        System.out.println("Enter a valid roll number");
    System.out.println("Hello "+name+" Roll Number   "+rollNumber);
Run Code Online (Sandbox Code Playgroud)

并使用以下输入测试程序(rollNumber 变量的混合输入是有意的):

Enter your name and roll number
Manraj 2018CSE1023
Run Code Online (Sandbox Code Playgroud)

编译器引发异常:NumberFormatException 堆栈跟踪如下:

        at java.base/java.lang.NumberFormatException.forInputString(NumberFormatException.java:65)
        at java.base/java.lang.Integer.parseInt(Integer.java:652)
        at java.base/java.lang.Integer.parseInt(Integer.java:770)
        at inputWithScanner.main(inputWithScanner.java:7)
Run Code Online (Sandbox Code Playgroud)

问题是:为什么会重复调用 parseInt() …

java string integer exception parseint

1
推荐指数
1
解决办法
65
查看次数

标签 统计

exception ×1

integer ×1

java ×1

parseint ×1

string ×1