Hey,
Also meine Aufgabe ist es die Methode "vermesse" zu ergänzen. Dazu soll auf "long System.nanoTime()" zurückgreifen, welche die aktuelle Zeit in
Nanosekunden liefert.
Mein Hinweis von der Aufgabe ist:
Um vernünftige Messergebnisse zu erhalten ist es notwendig, sehr viele
Methodenaufrufe durchzuführen. Verwendet dazu eine Zählschleife. Anschließend soll das Messergebnis
einfach auf die Konsole geschrieben werden, sinnvollerweise in der Einheit ms.
Ich habe ehrlich gesagt keine Ahnung wie ich das machen soll und hoffe dass mir hier jemand helfen kann.
Code:
class Effizienzvergleicher
{
/**
* Vergleicht die Effizienz verschiedener Implementationen von Zahlensack.
* Alle Zahlensaecke werden mit der gleichen Groesse erzeugt.
*
* @param groesse die Groesse der Zahlensaecke
*/
public void vergleiche(int groesse)
{
if (groesse < 1)
{
throw new IllegalArgumentException("groesse < 1");
}
// Hier der dynamische vs statische Typ!
Zahlensack zs = new Naiv(groesse);
vermesse(zs);
zs = new Permutation(groesse);
vermesse(zs);
zs = new Auswahl(groesse);
vermesse(zs);
}
/**
* Misst die Zeit, die fuer das Entfernen von sehr vielen Zahlen aus dem
* Zahlensack benoetigt wird. Das Ergebnis wird auf der Konsole ausgegeben.
*
* @param sack der zu vermessende Zahlensack
*/
public void vermesse(Zahlensack sack)
{
// Speichere die aktuelle Zeit als Startzeit
// Rufe 1 Mio. Mal "entferneZahl" auf
// Speichere die aktuelle Zeit als Stoppzeit
// Bilde die Differenz aus Stoppzeit und Startzeit
// Teile die Differenz durch 1000000, um von ns nach ms umzurechnen
System.out.print(sack); // Beschreibung des Zahlensacks ausgeben
System.out.print(": "); // gefolgt von einem Doppelpunkt
// Gib das Ergebnis auf der Konsole aus
}
}
Also meine Aufgabe ist es die Methode "vermesse" zu ergänzen. Dazu soll auf "long System.nanoTime()" zurückgreifen, welche die aktuelle Zeit in
Nanosekunden liefert.
Mein Hinweis von der Aufgabe ist:
Um vernünftige Messergebnisse zu erhalten ist es notwendig, sehr viele
Methodenaufrufe durchzuführen. Verwendet dazu eine Zählschleife. Anschließend soll das Messergebnis
einfach auf die Konsole geschrieben werden, sinnvollerweise in der Einheit ms.
Ich habe ehrlich gesagt keine Ahnung wie ich das machen soll und hoffe dass mir hier jemand helfen kann.