Hi leute,
ich habe program geschrieben und wenn ich den laufen lasse liefert mir immer wieder
"Name darf nur aus buchstaben oder leerzeichen bestehen"
worin liegt mein fehler?
ich habe program geschrieben und wenn ich den laufen lasse liefert mir immer wieder
"Name darf nur aus buchstaben oder leerzeichen bestehen"
worin liegt mein fehler?
Java:
package UniversitaetList;
public class Student {
private String name;
private String matrNr;
public Student(String name, String matrNt) throws Exception{
setName(name);
setMatrNr(matrNr);
}
public void setName(String name)throws Exception{
if(name == null || name.trim().length() == 0){
throw new Exception("Name darf nicht leer oder null sein");
}
for(int i = 0; i < name.length(); i++){
char c = name.charAt(i);
if(!Character.isLetter(c) || !Character.isWhitespace(c)){
throw new Exception("name darf nur leerzeichen oder buchstaben enthalten");
}
}
this.name = name;
}
public void setMatrNr(String matrNr)throws Exception{
if(matrNr.length()!= 8 ){
throw new Exception("Matrikelnummer darf nur die laenge 8 haben");
}
if(!Character.isLowerCase(matrNr.charAt(0))){
throw new Exception("Matrikelnummer darf nur mit einem kleinen buchstaben beginnen");
}
for(int i = 1; i < matrNr.length() ; i ++){
char c = matrNr.charAt(i);
if(!Character.isDigit(c)){
throw new Exception("Matrikelnummer soll nach kleinen buchstaben 7 ziffern haben");
}
}
this.matrNr = matrNr;
}
public String getMatrNr(){
return matrNr;
}
public String getName(){
return name;
}
}
Java:
package UniversitaetList;
import java.util.LinkedList;
import java.util.Iterator;
public class Universitaet {
private String name;
LinkedList<Student> studenten = new LinkedList<Student>();
public Universitaet(String name)throws Exception{
if(name == null || name.trim().length() == 0){
throw new Exception("Name darf nicht leer oder null sein");
}
for(int i = 0; i < name.length(); i++){
char c = name.charAt(i);
if(!Character.isLetter(c)|| !Character.isWhitespace(c)){
throw new Exception("Name darf nur aus buchstaben oder leerzeichen bestehen");
}
}
this.name = name;
}
public void immatrikulieren(Student st)throws Exception{
if(st == null){
throw new Exception("Student darf nicht null sein");
}
for(int i = 0; i < studenten.size();i++){
Student aktuellerStudent = studenten.get(i);
if(aktuellerStudent.getMatrNr().equals(st.getMatrNr())){
throw new Exception("Student ist bereits immatrikuliert");
}
}
studenten.add(st);
}
public void exmatrikulieren(Student st)throws Exception{
if(st == null){
throw new Exception("Student darf nicht null sein");
}
Iterator<Student> studentIterator = studenten.iterator();
while(studentIterator.hasNext()){
Student aktuallerStudent = studentIterator.next();
if (aktuallerStudent.getMatrNr().equals(st.getMatrNr())) {
studentIterator.remove();
return;
}
}
throw new Exception("Dieser Student ist nicht immatrikuliert.");
}
public String toString(){
String ausgabe = "";
Iterator<Student> studentenIterator = studenten.iterator();
while(studentenIterator.hasNext()){
ausgabe += studentenIterator.next().toString() ;
}
return ausgabe;
}
}
Java:
package UniversitaetList;
public class UniversitaetMain{
public static void main(String args[]){
try{
Universitaet universitaet = new Universitaet("uniwien");
universitaet.immatrikulieren(new Student("Markus ", "a1236767"));
Student khato = new Student("khato", "a2467978");
Student maria = new Student("maria", "a9874521");
universitaet.immatrikulieren(khato);
universitaet.immatrikulieren(maria);
System.out.println(universitaet);
universitaet.exmatrikulieren(maria);
universitaet.exmatrikulieren(khato);
System.out.println(universitaet);
} catch(Exception e) {
System.out.println(e.getMessage());
}
}
}