Initial commit of the source files.
This commit is contained in:
parent
5746a73212
commit
741a85bc47
|
@ -0,0 +1,38 @@
|
|||
|
||||
|
||||
/**
|
||||
* Diese Klasse verwaltet ein Pruefungsergebnis.
|
||||
*/
|
||||
public class Pruefungsergebnis {
|
||||
private String student;
|
||||
private double note;
|
||||
|
||||
/**
|
||||
* Erzeugt ein Pruefungsergebnis.
|
||||
*
|
||||
* @param student Name des Studierenden.
|
||||
* @param note Note des Studierenden.
|
||||
*/
|
||||
public Pruefungsergebnis(String student, double note) {
|
||||
this.student = student;
|
||||
this.note = note;
|
||||
}
|
||||
|
||||
/**
|
||||
* Liefert den Namen des Studierenden.
|
||||
*
|
||||
* @return Name des Studierenden.
|
||||
*/
|
||||
public String getStudent() {
|
||||
return student;
|
||||
}
|
||||
|
||||
/**
|
||||
* Liefert die Note.
|
||||
*
|
||||
* @return Die Note.
|
||||
*/
|
||||
public double getNote() {
|
||||
return note;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,81 @@
|
|||
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
|
||||
/**
|
||||
* Bietet Funktionalitaeten zum Speichern von Pruefungsergebnissen von einer
|
||||
* Vielzahl von Studenten. Aus den Gespeicherten Ergebnissen lassen sich
|
||||
* personalisierte Antworttexte generieren.
|
||||
*
|
||||
*/
|
||||
public class Pruefungsverwaltung {
|
||||
private ArrayList<Pruefungsergebnis> ergebnisse = new ArrayList<Pruefungsergebnis>();
|
||||
private HashMap<Double, String> noteVonZahlZuText = new HashMap<Double, String>();
|
||||
|
||||
public Pruefungsverwaltung() {
|
||||
init();
|
||||
}
|
||||
|
||||
private void init() {
|
||||
noteVonZahlZuText.put(1.0, "eins punkt null");
|
||||
noteVonZahlZuText.put(1.5, "eins punkt fuenf");
|
||||
noteVonZahlZuText.put(2.0, "zwei punkt null");
|
||||
noteVonZahlZuText.put(2.5, "zwei punkt fuenf");
|
||||
noteVonZahlZuText.put(3.0, "drei punkt null");
|
||||
noteVonZahlZuText.put(3.5, "drei punkt fuenf");
|
||||
noteVonZahlZuText.put(4.0, "vier punkt null");
|
||||
noteVonZahlZuText.put(4.5, "vier punkt fuenf");
|
||||
noteVonZahlZuText.put(5.0, "fuenf punkt null");
|
||||
noteVonZahlZuText.put(5.5, "fuenf punkt fuenf");
|
||||
noteVonZahlZuText.put(6.0, "sechs punkt null");
|
||||
}
|
||||
|
||||
public void speichereErgebnis(Pruefungsergebnis ergebnis) {
|
||||
ergebnisse.add(ergebnis);
|
||||
}
|
||||
|
||||
/**
|
||||
* Gibt pro gespeichertem Ergebnis einen Text auf die Konsole aus. <br />
|
||||
* <br />
|
||||
* Je nachdem ob der Kandidate die Pruefung bestanden (>= 4.0) oder nicht
|
||||
* bestanden (< 4.0) hat, wird ein Text in folgendem Format ausgegeben:
|
||||
*
|
||||
* <ul>
|
||||
* <li>
|
||||
* <Name>, Sie haben an der Pruefung eine <Note> (<Note als
|
||||
* Text>) erzielt und sind somit durchgefallen!</li>
|
||||
* <li>
|
||||
* Herzliche Gratulation <Name>! Sie haben an der Pruefung eine
|
||||
* <Note> (<Note als Text>) erzielt und somit bestanden!</li>
|
||||
* </ul>
|
||||
*/
|
||||
public void druckeAntworttexte() {
|
||||
for (Pruefungsergebnis ergebnis : ergebnisse) {
|
||||
String student = ergebnis.getStudent();
|
||||
double note = ergebnis.getNote();
|
||||
|
||||
double noteGerundet = rundeAufHalbeNote(note);
|
||||
String text = generiereText(student, noteGerundet);
|
||||
|
||||
System.out.println(text);
|
||||
}
|
||||
}
|
||||
|
||||
private double rundeAufHalbeNote(double note) {
|
||||
return Math.round(note * 2.0) / 2;
|
||||
}
|
||||
|
||||
private String generiereText(String student, double note) {
|
||||
String noteAlsText = noteVonZahlZuText.get(note);
|
||||
|
||||
if (note < 4) {
|
||||
return student + ", Sie haben an der Pruefung eine " + note + " ("
|
||||
+ noteAlsText + ") erzielt und sind somit durchgefallen!";
|
||||
} else {
|
||||
return "Herzliche Gratulation " + student
|
||||
+ "! Sie haben an der Pruefung eine " + note + " ("
|
||||
+ noteAlsText + ") erzielt und somit bestanden!";
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,34 @@
|
|||
|
||||
|
||||
import java.util.Random;
|
||||
|
||||
/**
|
||||
* Simuliert Pruefungsergebnisse zum Testen der Pruefungsverwaltung.
|
||||
*/
|
||||
public class ZufaelligeNotengebung {
|
||||
|
||||
/**
|
||||
* Fuehrt die Simulation aus.
|
||||
*/
|
||||
public void fuehreAus() {
|
||||
Pruefungsverwaltung pruefungsverwaltung = new Pruefungsverwaltung();
|
||||
|
||||
for (int i = 0; i < 3; i++) {
|
||||
String name = "Max Muster " + i;
|
||||
double note = generiereZufaelligePruefungsnote();
|
||||
Pruefungsergebnis pruefungsergebnis = new Pruefungsergebnis(name,
|
||||
note);
|
||||
pruefungsverwaltung.speichereErgebnis(pruefungsergebnis);
|
||||
}
|
||||
|
||||
pruefungsverwaltung.druckeAntworttexte();
|
||||
}
|
||||
|
||||
private double generiereZufaelligePruefungsnote() {
|
||||
Random zufallszahlengenerator = new Random();
|
||||
zufallszahlengenerator.setSeed(zufallszahlengenerator.nextLong());
|
||||
double zufallszahl = zufallszahlengenerator.nextDouble();
|
||||
return zufallszahl * 5 + 1;
|
||||
}
|
||||
|
||||
}
|
Loading…
Reference in New Issue