|
||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectcore.ExamDataBase
public abstract class ExamDataBase
Abstrakte ExamDataBase Klasse. Speichert Benotungsparameter, Teilnehmerdaten und ermöglicht Abfragen der Datenbasis.
Field Summary | |
---|---|
protected int |
maxPoints
Die maximal erreichbare Punktzahl |
protected int |
step
Die Schrittweite zwischen den einzelnen Notenstufen. |
protected Student[] |
students
Die zu der Klausur angemeldeten Studenten, auch diejenigen, die sich wieder abgemeldet haben. |
protected int |
threshold
Die Bestehensgrenze. |
Constructor Summary | |
---|---|
ExamDataBase()
|
Method Summary | |
---|---|
abstract void |
addStudent(int matrNr,
java.lang.String firstname,
java.lang.String surname)
Fügt einen Studenten mit der Matrikelnummer matrNr , dem
Vornamen firstname und dem Nachnamen surname
zur Datenbasis hinzu, falls:
firstname und surname nicht null sind
matrNr >0 gilt. |
abstract boolean |
consistent()
Gibt genau dann true zurück, wenn für jeden in der
Datenbasis befindlichen Studenten, der nicht von der Klausur
zurückgetreten ist ein gültiger Punktestand
größer 0 eingetragen wurde. |
abstract void |
deleteStudent(int matrNr)
Entfernt den Studenten mit der Matrikelnummer matrNr aus der Datenbasis,
falls ein solcher darin enthalten ist. |
abstract int |
getAverage()
Gibt den Notendurchschnitt zurück, falls die Datenbasis konsistent ist ( consistent()==true ). |
abstract boolean |
getBackedOut(int matrNr)
Ist ein Student mit der Matrikelnummer matrNr in der Datenbasis
enthalten, wird genau dann true zurückgeliefert, wenn
dieser Studenten von der Klausur zurückgetreten ist. |
abstract int |
getBonusPoints(int matrNr)
Liefert die Bonuspunkte des Studenten mit der Matrikelnummer matrNr
zurück, falls ein solcher in der Datenbasis enthalten ist. |
abstract java.lang.String |
getFirstname(int matrNr)
Liefert den Vornamen des Studenten mit der Matrikelnummer matrNr
zurück, falls ein solcher in der Datenbasis enthalten ist. |
abstract int |
getGrade(int matrNr)
Liefert die Note des Studenten mit der Matrikelnummer matrNr
zurück, falls ein solcher in der Datenbasis enthalten ist und nicht
von der Klausur zurückgetreten ist. |
abstract int[] |
getMatrNrs()
Liefert die Matrikelnummern aller in der Datenbasis enthaltenen Studenten als Array zurück. |
abstract int |
getNumParticipants()
Gibt die Anzahl der (nicht wieder abgemeldeten) Klausurteilnehmer zurück. |
abstract int |
getNumWithGrade(int grade)
Gibt die Anzahl der Klausurteilnehmer mit Note grade zurück,
falls die Datenbasis konsistent ist (consistent()==true ). |
abstract int |
getPassedAverage()
Gibt den Notendurchschnitt der bestandenen Klausuren zurück, falls die Datenbasis konsistent ist ( consistent()==true ). |
abstract int |
getPoints(int matrNr)
Liefert die Punkte des Studenten mit der Matrikelnummer matrNr
zurück, falls ein solcher in der Datenbasis enthalten ist. |
abstract java.lang.String |
getSurname(int matrNr)
Liefert den Nachnamen des Studenten mit der Matrikelnummer matrNr
zurück, falls ein solcher in der Datenbasis enthalten ist. |
abstract int |
maxPoints()
|
protected int |
pointsToGrade(int points,
int bonusPoints)
Berechnet aus Punkt- und Bonuspunktzahl die Note. |
abstract void |
setBackedOut(int matrNr,
boolean backedOut)
Vermerkt den Studenten mit der Matrikelnummer matrNr als
von der Klausur zurückgetreten oder macht die Abmeldung rückgängig. |
abstract void |
setBonusPoints(int matrNr,
int bonusPoints)
Setzt die Bonuspunktzahl des Studenten mit der Matrikelnummer matrNr
auf bonusPoints . |
abstract void |
setExamParameters(int newThreshold,
int newStep,
int newMaxPoints)
Setzt die Bestehensgrenze ( threshold ), die Schrittweite (step )
und die Maximalpunktzahl (maxPoints )
auf die neuen Werte newThreshold, newStep und newMaxPoints, falls diese die folgenden
Bedingungen erfüllen:
0<newThreshold
0<newStep
newStep<=(newMaxPoints-newThreshold)/10
newThreshold<=newMaxPoints
andernfalls wird eine ExamDataBaseException geworfen. |
abstract void |
setPoints(int matrNr,
int points)
Setzt die Punktzahl des Studenten mit der Matrikelnummer matrNr
auf points . |
abstract int |
step()
|
abstract int |
threshold()
|
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
protected int threshold
null
und kleiner oder gleich maxPoints
.
protected int step
(maxPoints-threshold)/10
.
protected int maxPoints
protected Student[] students
students
ist niemals null
.
Für alle Studenten in students
gilt:
maxPoints
students
vor.Student
ist in höchstens einer
ExamDataBase
enthalten. maxPoints
.
Constructor Detail |
---|
public ExamDataBase()
Method Detail |
---|
protected int pointsToGrade(int points, int bonusPoints)
public abstract void setExamParameters(int newThreshold, int newStep, int newMaxPoints) throws ExamDataBaseException
threshold
), die Schrittweite (step
)
und die Maximalpunktzahl (maxPoints
)
auf die neuen Werte newThreshold, newStep und newMaxPoints, falls diese die folgenden
Bedingungen erfüllen:
ExamDataBaseException
geworfen.
newThreshold
- der neue Wert für die Bestehensgrenze threshold
newStep
- der neue Wert für die Schrittweite step
newMaxPoints
- der neue Wert für die Maximalpunktzahl maxPoints
ExamDataBaseException
- wird geworfen, falls die obigen Konsistenzbedingungen nicht erfüllt sind.public abstract void addStudent(int matrNr, java.lang.String firstname, java.lang.String surname) throws ExamDataBaseException
matrNr
, dem
Vornamen firstname
und dem Nachnamen surname
zur Datenbasis hinzu, falls:
firstname
und surname
nicht null
sindmatrNr
>0 gilt.
matrNr
in der Datenbasis
vorhanden istExamDataBaseException
geworfen.
matrNr
- die Matrikelnummer des hinzuzufügenden Studenten.firstname
- der Vorname des Studenten.surname
- der Nachname des Studenten.
ExamDataBaseException
- wird geworfen, falls die obigen Konsistenzbedingungen nicht erfüllt sind.public abstract void deleteStudent(int matrNr) throws ExamDataBaseException
matrNr
aus der Datenbasis,
falls ein solcher darin enthalten ist. Falls nicht, wird eine ExamDataBaseException
geworfen. Diese Methode ist dazu gedacht, Fehleingaben in die Datenbasis zu korrigieren.
Bei Abmeldungen von der Klausur ist die Methode setBackedOut
zu verwenden.
matrNr
- die Matrikelnummer des zu löschenden Studenten.
ExamDataBaseException
- wird geworfen, falls kein Student mit der Matrikelnummer
matrNr
in der Datenbasis enthalten ist.public abstract void setPoints(int matrNr, int points) throws ExamDataBaseException
matrNr
auf points
.
matrNr
- die Matrikelnummer. Ein Student mit dieser Matrikelnummer muß in der
Datenbasis enthalten sein.points
- die Punktzahl des Studenten mit der Matrikelnummer matrNr
.
Muß zwischen -1 und maxPoints
liegen.
ExamDataBaseException
- wird geworfen wenn kein Student mit Matrikelnummer
matrNr
, der nicht von der Klausur zurückgetreten ist,
in der Datenbasis enthalten ist, oder points
nicht
im Bereich zwischen -1 und maxPoints
liegt.public abstract void setBonusPoints(int matrNr, int bonusPoints) throws ExamDataBaseException
matrNr
auf bonusPoints
.
matrNr
- die Matrikelnummer. Ein Student mit dieser Matrikelnummer muß in der
Datenbasis enthalten sein.bonusPoints
- die Bonuspunktzahl des Studenten mit der Matrikelnummer matrNr
.
Muß zwischen 0 und maxPoints
liegen.
ExamDataBaseException
- wird geworfen wenn kein Student mit Matrikelnummer
matrNr
in der Datenbasis enthalten ist, oder bonusPoints
nicht
im Bereich zwischen 0 und maxPoints
liegt.public abstract void setBackedOut(int matrNr, boolean backedOut) throws ExamDataBaseException
matrNr
als
von der Klausur zurückgetreten oder macht die Abmeldung rückgängig.
matrNr
- die Matrikelnummer. Ein Student mit dieser Matrikelnummer muß in der
Datenbasis enthalten sein.backedOut
- true
falls der Student sich abmeldet, false
,
falls er von der Abmeldung zurücktritt.
ExamDataBaseException
- wird geworfen falls kein Student mit Matrikelnummer
matrNr
in der Datenbasis existiert.public abstract int threshold()
public abstract int step()
public abstract int maxPoints()
public abstract int[] getMatrNrs()
public abstract java.lang.String getFirstname(int matrNr) throws ExamDataBaseException
matrNr
zurück, falls ein solcher in der Datenbasis enthalten ist. Andernfalls
wird eine ExamDataBaseException
geworfen.
matrNr
.
ExamDataBaseException
- falls kein Student mit Matrikelnummer
matrNr
in der Datenbasis vorkommt.public abstract java.lang.String getSurname(int matrNr) throws ExamDataBaseException
matrNr
zurück, falls ein solcher in der Datenbasis enthalten ist. Andernfalls
wird eine ExamDataBaseException
geworfen.
matrNr
.
ExamDataBaseException
- falls kein Student mit Matrikelnummer
matrNr
in der Datenbasis vorkommt.public abstract int getPoints(int matrNr) throws ExamDataBaseException
matrNr
zurück, falls ein solcher in der Datenbasis enthalten ist. Andernfalls
wird eine ExamDataBaseException
geworfen.
matrNr
.
ExamDataBaseException
- falls kein Student mit Matrikelnummer
matrNr
in der Datenbasis vorkommt.public abstract int getBonusPoints(int matrNr) throws ExamDataBaseException
matrNr
zurück, falls ein solcher in der Datenbasis enthalten ist. Andernfalls
wird eine ExamDataBaseException
geworfen.
matrNr
.
ExamDataBaseException
- falls kein Student mit Matrikelnummer
matrNr
in der Datenbasis vorkommt.public abstract boolean getBackedOut(int matrNr) throws ExamDataBaseException
matrNr
in der Datenbasis
enthalten, wird genau dann true
zurückgeliefert, wenn
dieser Studenten von der Klausur zurückgetreten ist. Ist kein solcher Student
in der Datenbasis zu finden, wird eine ExamDataBaseException
geworfen.
true
gdw. der in der Datenbasis enthaltene Studenten mit der
Matrikelnummer matrNr
von der Klausur zurückgetreten ist.
ExamDataBaseException
- falls kein Student mit Matrikelnummer
matrNr
in der Datenbasis vorkommt.public abstract int getGrade(int matrNr) throws ExamDataBaseException
matrNr
zurück, falls ein solcher in der Datenbasis enthalten ist und nicht
von der Klausur zurückgetreten ist. Andernfalls
wird eine ExamDataBaseException
geworfen.
matrNr
.
ExamDataBaseException
- falls kein Student mit Matrikelnummer
matrNr
in der Datenbasis vorkommt.public abstract boolean consistent()
true
zurück, wenn für jeden in der
Datenbasis befindlichen Studenten, der nicht von der Klausur
zurückgetreten ist ein gültiger Punktestand
größer 0 eingetragen wurde.
true
gdw. für jeden in der
Datenbasis befindlichen Studenten, der nicht von der Klausur
zurückgetreten ist ein gültiger Punktestand
größer 0 eingetragen wurde.public abstract int getNumParticipants()
public abstract int getNumWithGrade(int grade) throws ExamDataBaseException
grade
zurück,
falls die Datenbasis konsistent ist (consistent()==true
). Andernfalls
wird eine ExamDataBaseException
geworfen.
grade
.
ExamDataBaseException
- falls die Datenbasis inkonsistent ist
(consistent()==false
).public abstract int getAverage() throws ExamDataBaseException
consistent()==true
). Andernfalls
wird eine ExamDataBaseException
geworfen.
ExamDataBaseException
- falls die Datenbasis inkonsistent ist
(consistent()==false
).public abstract int getPassedAverage() throws ExamDataBaseException
consistent()==true
). Andernfalls
wird eine ExamDataBaseException
geworfen.
ExamDataBaseException
- falls die Datenbasis inkonsistent ist
(consistent()==false
).
|
||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |