Initial commit of the source files.
This commit is contained in:
parent
2d00125ebb
commit
333d9029d0
|
@ -0,0 +1,34 @@
|
|||
/**
|
||||
* Die Klasse MessApp steuert einen Messablauf, um die Performance des
|
||||
* Zufallszahlengenerators zu messen.
|
||||
*/
|
||||
public class MessApp {
|
||||
private Messkonduktor messkonduktor;
|
||||
|
||||
/**
|
||||
* Fuehrt eine Messung durch.
|
||||
*/
|
||||
public void messen() {
|
||||
initialisieren();
|
||||
analyseDurchfuehren();
|
||||
berechneUndDruckeMittelwerteMessreihe();
|
||||
berechneUndDruckeMittelwerteMessung();
|
||||
}
|
||||
|
||||
private void initialisieren() {
|
||||
// TODO Objektsammlung und Messkonduktor erzeugen
|
||||
}
|
||||
|
||||
private void analyseDurchfuehren() {
|
||||
// TODO Benutzen Sie 'messkonduktor' um die Messungen
|
||||
// durchzufuehren und in der Objektsammlung zu speichern.
|
||||
}
|
||||
|
||||
private void berechneUndDruckeMittelwerteMessreihe() {
|
||||
// TODO Implementieren Sie die Methode.
|
||||
}
|
||||
|
||||
private void berechneUndDruckeMittelwerteMessung() {
|
||||
// TODO Implementieren Sie die Methode.
|
||||
}
|
||||
}
|
|
@ -0,0 +1,58 @@
|
|||
import java.util.Arrays;
|
||||
import java.util.Random;
|
||||
|
||||
/**
|
||||
* Mit dem Messkonduktor kann die Zeit fuer das Erzeugen und Sortieren einer
|
||||
* vorgegebenen Anzahl Zusfallszahlen gemessen werden. Die Anzahl Zufallszahlen
|
||||
* ist konfigurierbar.
|
||||
*/
|
||||
public class Messkonduktor {
|
||||
private int anzahlZufallszahlen;
|
||||
|
||||
/**
|
||||
* Erstellt einen Messkonduktor.
|
||||
*
|
||||
* @param anzahlZufallszahlen Anzahl Zufallszahlen pro Messung.
|
||||
*/
|
||||
public Messkonduktor(int anzahlZufallszahlen) {
|
||||
this.anzahlZufallszahlen = anzahlZufallszahlen;
|
||||
}
|
||||
|
||||
/**
|
||||
* Fuehrt eine Anzahl Messungen durch. Die Anzahl ist bestimmt durch die
|
||||
* Laenge des uebergeben Arrays. Eine einzelne Messung besteht aus dem
|
||||
* Generieren und Sortieren der Zufallszahlen.
|
||||
*
|
||||
* @param messResultate Der Array fuer die Messresultate.
|
||||
* @return Messresultate mit Zeitdauer in ms.
|
||||
*/
|
||||
public int[] messungenDurchfuehren(int[] messResultate) {
|
||||
for (int i = 0; i < messResultate.length; i++) {
|
||||
messResultate[i] = einzelneMessungDurchfuehren();
|
||||
}
|
||||
|
||||
return messResultate;
|
||||
}
|
||||
|
||||
private int einzelneMessungDurchfuehren() {
|
||||
long zeitVorher = System.currentTimeMillis();
|
||||
|
||||
int[] zufallszahlen = zufallszahlenGenerieren();
|
||||
Arrays.sort(zufallszahlen);
|
||||
|
||||
long zeitDanach = System.currentTimeMillis();
|
||||
int zeitdauerInMs = (int) (zeitDanach - zeitVorher);
|
||||
|
||||
return zeitdauerInMs;
|
||||
}
|
||||
|
||||
private int[] zufallszahlenGenerieren() {
|
||||
int[] zufallszahlen = new int[anzahlZufallszahlen];
|
||||
Random zufallszahlenGenerator = new Random();
|
||||
|
||||
for (int i = 0; i < anzahlZufallszahlen; i++) {
|
||||
zufallszahlen[i] = zufallszahlenGenerator.nextInt(100000);
|
||||
}
|
||||
return zufallszahlen;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,14 @@
|
|||
------------------------------------------------------------------------
|
||||
Dies ist die README-Datei des Projekts. Hier sollten Sie Ihr Projekt
|
||||
beschreiben.
|
||||
Erzählen Sie dem Leser (jemand, der nichts über dieses Projekt weiss),
|
||||
alles, was er/sie wissen muss. Üblicherweise sollte der Kommentar
|
||||
zumindest die folgenden Angaben umfassen:
|
||||
------------------------------------------------------------------------
|
||||
|
||||
PROJEKTBEZEICHNUNG:
|
||||
PROJEKTZWECK:
|
||||
VERSION oder DATUM:
|
||||
WIE IST DAS PROJEKT ZU STARTEN:
|
||||
AUTOR(EN):
|
||||
BENUTZERHINWEISE:
|
|
@ -0,0 +1,31 @@
|
|||
#BlueJ package file
|
||||
dependency1.from=MessApp
|
||||
dependency1.to=Messkonduktor
|
||||
dependency1.type=UsesDependency
|
||||
package.editor.height=400
|
||||
package.editor.width=560
|
||||
package.editor.x=222
|
||||
package.editor.y=351
|
||||
package.numDependencies=1
|
||||
package.numTargets=2
|
||||
package.showExtends=true
|
||||
package.showUses=true
|
||||
project.charset=UTF-8
|
||||
target1.editor.height=700
|
||||
target1.editor.width=900
|
||||
target1.editor.x=0
|
||||
target1.editor.y=1
|
||||
target1.height=50
|
||||
target1.name=Messkonduktor
|
||||
target1.showInterface=false
|
||||
target1.type=ClassTarget
|
||||
target1.width=120
|
||||
target1.x=240
|
||||
target1.y=170
|
||||
target2.height=50
|
||||
target2.name=MessApp
|
||||
target2.showInterface=false
|
||||
target2.type=ClassTarget
|
||||
target2.width=80
|
||||
target2.x=70
|
||||
target2.y=40
|
Loading…
Reference in New Issue