为什么在这里: arrayList = {firstName,lastName,ID,examValue,score}; 给出错误?该方法应该调用一个构造函数,它是Exam(String firstName,String lastName,int ID,String examType,int score),那么这个方法有什么问题呢?提前谢谢!
public static Exam[] readAllExams(Scanner s)
{
Exam[] arrayList = null;
String firstName = "";
String lastName = "";
int ID = 0;
String examValue = "";
int score = 0;
while(s.hasNext())
{
if(s.hasNextLine())
{
firstName = s.next();
lastName = s.next();
}
else if(s.hasNextInt())
{
ID = s.nextInt();
}
else if (s.hasNextLine())
{
examValue = s.nextLine();
}
else if (s.hasNextInt())
{
score = s.nextInt();
}
}
arrayList = {firstName, lastName, ID, examValue, score};
return arrayList;
}
答案 0 :(得分:0)
首先,您无法将数组初始化为Exam[] arrayList = null;
,然后将值重新分配给长度为5的数组。
其次,您的ArrayList
是不同对象和基元的列表(String
,int
),与指定的类型Exam[]
不匹配。
更改分配给Exam
列表的对象类型,或确保列表中的所有对象都是Exam
类型。
答案 1 :(得分:0)
您可以尝试使用arrayList = new Exam[]{ /* stuff */ }
。您尝试使用的语法仅在数组声明中有效。
此外,您无法使用不同基本类型的变量初始化类型为Exam
的数组。
答案 2 :(得分:0)
这里Exam[] arrayList = null;
你说数组是类型考试然后你说
arrayList = {firstName, lastName, ID, examValue, score};
数组是String类型,其中2个语句相互矛盾