杀死此NumberFormatException

and*_*and 1 java netbeans

我在Integer.parseInt()方法上得到一个NumberFormatException.我知道这个例外是在将"ab"这样的东西传递给方法时产生的,但我不知道发生了什么.我怎样才能解决这个问题?

我正在使用Netbeans并试图调试将caseStartLineSplitted[0]变量放在变量上,然后点击f7,但是代码经历了像Arrays类这样的东西,我并不关心.我怎样才能直接caseStartLineSplitted[0]进入变化的地方?

输入文件是:

2
3 2 1
ab
1 0
2 0
2 0
2
0 3
abaa
aab
aba
3 3 2
ade
0 1 2
1 2 0
2 1 0
1 2
2 2
a
de



 /*
     * To change this template, choose Tools | Templates
     * and open the template in the editor.
     */

    package afd;

    import java.io.*;
import java.util.*;

/**
 *
 * @author Administrator
 */
public class Main {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) throws IOException {
        // TODO code application logic here

        FileReader fr = new FileReader("E://Documents and Settings//Administrator//My Documents//NetBeansProjects//AFD//src//afd//dfa.in");


        BufferedReader br = new BufferedReader(fr);

        String firstLine= br.readLine();


        String [] firstLineSplitted = firstLine.split(" ");

        /*debug*/
        System.out.println(firstLine);

        int numberOfTestCases = Integer.parseInt(firstLine);

        for (int indexOfTestCases =0; indexOfTestCases < numberOfTestCases; indexOfTestCases++  ){

            String caseStartLine = br.readLine();

            /*debug*/
            System.out.println(caseStartLine);
            String [] caseStartLineSplitted = caseStartLine.split("");

            int numberOfStates = Integer.parseInt(caseStartLineSplitted[0]);

            int numberOfAlphabetSymbols = Integer.parseInt(caseStartLineSplitted[1]);

            //int numberOfFinalStates = Integer.parseInt(caseStartLineSplitted[2]);

            String alphabetLine = br.readLine();

            for (int indexOfStates = 0; indexOfStates < numberOfStates; indexOfStates++){

                  String ijLine = br.readLine();
                  String [] ijLineSplitted = ijLine.split(" ");

                  int i = Integer.parseInt(ijLineSplitted[0]);
                  int j = Integer.parseInt(ijLineSplitted[1]);


            }

            String finalStatesLine = br.readLine();
            String finalStatesLineSplitted [] = finalStatesLine.split(" ");
            ArrayList<Integer> finalStates = new ArrayList<Integer>();

            for (int conversionIndex =0; conversionIndex < finalStatesLineSplitted.length; )

            }

         }
        }
Run Code Online (Sandbox Code Playgroud)

Mar*_*ers 5

我认为你的错误是这一行缺少空间:

String[] caseStartLineSplitted = caseStartLine.split(" ");
Run Code Online (Sandbox Code Playgroud)

你写了:

String[] caseStartLineSplitted = caseStartLine.split("");
Run Code Online (Sandbox Code Playgroud)

当我改变它时,我得到以下输出,没有错误:

2
3 2 1
0 3
Run Code Online (Sandbox Code Playgroud)