回文与否(SPOJ)Java

时间:2019-01-21 04:12:31

标签: java input onlinejudge

我正在尝试解决SPOJ中的此问题:https://www.spoj.com/problems/PLNDROME/

当我在IntelliJ中运行程序时,它可以正常工作,但是,当我将代码发送到SPOJ时,它不起作用。我认为输入有问题,我在阅读其他类似的解决方案,但这些解决方案对我不起作用。我总是得到错误的答案。

这是我的代码:

import java.util.*;
import java.lang.*;
import java.io.*;
import java.math.BigInteger;
import java.util.Scanner;
import java.util.StringTokenizer;

class Main
{
    public static void main (String[] args) throws java.lang.Exception
    {
        BufferedReader r = new BufferedReader(new InputStreamReader(System.in), 10 * 1024 * 1024);
        int T = Integer.parseInt(r.readLine());
        int a = 0;
        while(a++ < T){
            int N = Integer.parseInt(r.readLine());
            StringBuilder sb =   new StringBuilder(r.readLine());
            int M = Integer.parseInt(r.readLine());
            System.out.println("Case " + (a) + ":");
            while(M-- > 0){
                String  lines = r.readLine();
                String[] strs = lines.trim().split("\\s+");
                int i = Integer.parseInt(strs[0]);
                sb.setCharAt(i-1,strs[1].charAt(0));
                System.out.println(sb.toString().equals(sb.reverse().toString()) ? "YES" : "NO");
            }
        }
        r.close();
    }
}

ideone.com结果:

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 Main.main(Main.java:12)

我希望找到一个有解决方案或答案的人(首先在Stack Overflow上问,祝福)

1 个答案:

答案 0 :(得分:0)

Ideone出现运行时错误的原因是输入数据流(STDIN)空。尝试使用以下输入数据执行程序(如果要使用Ideone,则可以在源代码区域下方提供输入数据):

1
11
madamimadam
6
6 z
1 a
11 b
5 z
1 b
7 z

如您所见(https://ideone.com/7c8E4y),此数据集可以正常工作。