Java 数字格式异常

Java Number Format Exception

我在 CodeChef 平台上做题时遇到 NumberFormatException

首先我使用 Scanner 来处理输入,然后是 BufferedReader。但是 none 成功了!

这是我的代码:

import java.io.*;
import java.util.*;
import java.text.*;
import java.math.*;
import java.util.regex.*;

class Practise {

    public static void main(String[] args) throws IOException{
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        int t = Integer.parseInt(br.readLine());

        while(t > 0) {
            String s = br.readLine();
            ArrayList<String> al = new ArrayList<>();
            int i = 0;

            while(i < s.length()) {
                String temp = "";
                while(s.charAt(i) != ' '){
                    temp += s.charAt(i);
                    i++;
                    if(i >= s.length()) {
                        break;
                    }
                }
                al.add(temp);
                i++;
            }

            if(al.contains("not")) {
                System.out.println("Real Fancy");
            } else {
                System.out.println("regularly Fancy");
            }

            t--;
        } 
    }
}

可能是什么问题?

输入 --> 输入的第一行包含一个整数 T 表示数字 的测试用例。 T 测试用例的描述如下。 --> 每个测试用例的第一行也是唯一一行包含一个字符串 S 表示 引用。

我收到的异常消息-

Exception in thread "main" java.lang.NumberFormatException: null
at java.lang.Integer.parseInt(Integer.java:542)
at java.lang.Integer.parseInt(Integer.java:615)
at Practise.main(Main.java:11)

文档:

* Thrown to indicate that the application has attempted to convert
* a string to one of the numeric types, but that the string does not
* have the appropriate format.

异常会在int t = Integer.parseInt(br.readLine());行抛出。那里抛出异常的原因是您在那里阅读的输入不是数字。如果它是一个数字 + 一个字符串或其他东西,它将抛出 NumberFormatException.

示例输入1235a

这将引发异常并显示以下消息:

java.lang.NumberFormatException: For input string: "1235a"

所以你应该调试那里的输入。