我收到错误,不兼容的类型: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
答案 0 :(得分:1)
int[]
是integer array
类型。
int
是integer
类型。
您无法将数组转换为数字。
答案 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]);