我现在在论坛上搜索了半个小时,但没有找到解决方案。我必须编写一个程序“学生”,它有 2 个构造函数(一个带有参数)。现在我试图在我的测试类“StudentTest2”中测试它,但我无法访问类 Student 的构造函数。
我的班级学生是:
import java.util.ArrayList;
public class Student{
boolean validMatNumber;
String name;
private int matrikelnummer;
//statisch, da sich die Anzahl der Studenten global ändern muss
static int numberOfStudents;
static ArrayList<Student> students = new ArrayList<Student>();
public Student() {
new Student();
students.add(this);
numberOfStudents++;
}
public Student(String name, int matrikelnummer){
if (matrikelnummer > 9999 && matrikelnummer < 100000){
validMatNumber = true;
this.matrikelnummer = matrikelnummer;
this.name = name;
students.add(this);
numberOfStudents++;
}
else{
validMatNumber = false;
}
}
String printInformation(){
return ("Name: "+ this.name + " Matrikelnummer: " + this.matrikelnummer);
}
void printAllInformation(){
for(Student aStudent: students){
System.out.println("Name: " + aStudent.getName() + "Matrikelnummer: " +
aStudent.getMatrikelnummer());
}
}
public String getName(){
return name;
}
public int getMatrikelnummer(){
return matrikelnummer;
}
boolean isValidMatNumber(){
//Da die Matrikelnummer 5 stellig sein soll und nicht mit 0 anfangen darf,
//habe ich diesen Zahlenbreich gewählt
if (matrikelnummer > 9999 && matrikelnummer < 100000){
validMatNumber = true;
return validMatNumber;
}
else{
validMatNumber = false;
return validMatNumber;
}
}
static int getNumberOfStudents(){
return numberOfStudents;
}
到目前为止,我的测试类是(不起作用):
public class StudentTest2{
public static void main(String[] args){
Student s1 = new Student(Peter, 12345);
}
}
我得到了错误
StudentTest2.java:5: 错误:找不到符号 Student s1 = new Student(Peter, 12345); ^ 符号:变量 Peter 位置:类 StudentTest2
在您的构造函数中,您已经定义了 aString
和 an int
;
public Student(String name, int matrikelnummer){
而您的问题是 - 您正在尝试传入Peter, 12345
,但Peter
不是String
. 你只需要一个环绕String
与"
例如:
Student s1 = new Student("Peter", 12345);
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句