I have to write a program Student
that has 2 constructors (one with parameters). Now I am trying to test it in my testclass StudentTest2
but I just can't get to the constructor of class Student
.
My Class Student is:
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;
}
And my testclass so far is (doesn't work though):
public class StudentTest2{
public static void main(String[] args){
Student s1 = new Student(Peter, 12345);
}
}
I get the error:
StudentTest2.java:5: error: cannot find symbol Student s1 = new Student(Peter, 12345); ^ symbol: variable Peter location: class StudentTest2
In your constructor, you have defined a String
and an int
;
public Student(String name, int matrikelnummer){
And your problem is - you are trying to pass in Peter, 12345
, but Peter
is not a String
. You just need to surround a String
with "
For example:
Student s1 = new Student("Peter", 12345);