不兼容的类型错误int []到int

时间:2015-04-22 02:05:19

标签: java arraylist int java.util.scanner

我收到错误,不兼容的类型:int []无法转换为int。有人可以解释为什么会发生这种情况以及我需要做些什么才能解决这个问题? 谢谢您的帮助。这是我的代码:

public static String readFinalQuestionBank() throws Exception
    {   
        File textFile = new File("C:\\Users\\Joseph\\Documents\\School Files - NHCC\\CSci 2002\\FinalQuestionBank_JosephKraemer.txt");  //file location
        ArrayList<String> question;
        ArrayList<String> answer; 
        ArrayList<String> category;
        ArrayList<String> topic;


        int[] i = new int[0];
        String[] structure = {"OO Programming", "Generics", "Bags", "Complexity & Efficiency", "Stacks", "Recursion", "Sorts", "Queues",
                              "Lists", "Iterators", "Searching", "Associative Arrays/Hashing", "Trees/Heaps", "Graphs"};

        try
        {
            Scanner scan = new Scanner(textFile);                   //Scanner to import file

            while(scan.hasNextLine())                               //Iterator - while file has next line
            {
                String qBank = scan.nextLine();                     //Iterator next line
                String[] line = qBank.split("::");             //split data via double colon

                question[i]++ = line[0];    //error is here!!

                System.out.println(qBank);

            }
            scan.close();                  //close scanner

        }
        catch(FileNotFoundException e)
        {
             e.printStackTrace();
        }       
        return "";
    }//end method readFinalQuestionBank

3 个答案:

答案 0 :(得分:1)

int[]integer array类型。

intinteger类型。

您无法将数组转换为数字。

答案 1 :(得分:1)

您已将变量i声明为int数组,并使用它来跟踪question[]的索引。数组中的索引由0,1,2,3 ...表示,它们是常规int而不是int[]。因此,您收到了错误int[] cannot be converted to int

<强>解决方案:

int[] i = new int[0];更改为int i = 0;

此外,您的代码中还有更多问题。您没有递增question[]的索引值。因此,您始终将line[]数组中的结果复制到question[]的第一个元素中,这会使您阵列中的所有其他元素无效。不使用String array,而是使用StringBuilder来保存值。

答案 2 :(得分:0)

您的代码中存在多个问题。将int声明为整数,初始化问题,并且必须在将字符串转换为问题之前将其转换为整数。

int i = 0;
int [] question = new int [100];
question[i++] = Integer.parseInt(line[0]);