Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/367.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 为什么数组会出现错误?_Java - Fatal编程技术网

Java 为什么数组会出现错误?

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

为什么在这里:arrayList={firstName,lastName,ID,examValue,score}给出一个错误??这个方法应该调用一个名为Exam的构造函数(stringfirstname、stringlastname、int-ID、stringexamtype、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;


    }

首先,不能将数组初始化为
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中的对象的任何示例?