Java 为什么数组会出现错误?
为什么在这里:arrayList={firstName,lastName,ID,examValue,score}给出一个错误??这个方法应该调用一个名为Exam的构造函数(stringfirstname、stringlastname、int-ID、stringexamtype、int-score),那么这个方法有什么问题呢?提前谢谢Java 为什么数组会出现错误?,java,Java,为什么在这里:arrayList={firstName,lastName,ID,examValue,score}给出一个错误??这个方法应该调用一个名为Exam的构造函数(stringfirstname、stringlastname、int-ID、stringexamtype、int-score),那么这个方法有什么问题呢?提前谢谢 public static Exam[] readAllExams(Scanner s) { Exam[] arrayList = null
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;
}
首先,不能将数组初始化为
Exam[]arrayList=null
然后将该值重新分配给长度为5的数组
其次,您的ArrayList
是不同对象和原语(String
,int
)的列表,与指定的类型Exam[]
不匹配
更改分配给
检查
列表的对象类型,或者确保列表中的所有对象都是检查
类型。您可以尝试使用arrayList=new Exam[]{/*stuff*/}
。您尝试使用的语法仅在数组声明中有效
此外,不能使用不同基本类型的变量初始化类型为
Exam
的数组。此处Exam[]arrayList=null代码>你说数组是类型检查,然后你说
arrayList={firstName,lastName,ID,examValue,score}代码>数组是两条语句相互矛盾的字符串类型在声明后不能以这种方式初始化数组。查看如何将所有对象都设置为类型检查?请提供所有类型考试对象的示例@RAGEANDQQ您必须确保列表中的所有对象(firstName、lastName、ID、examValue、score
)都是类型检查,而不是当前的类型(字符串、int等)。或者将arrayList
更改为接受不同的类型(将其作为arrayList`类型,而不是Exam
对象的数组)。我是对象新手,请您提供使用数组@Mints97中的对象的任何示例?