D
DarkAngel
Gast
Hallo zusammen,
versuche gerade was zu programmieren und drehe mich im Kreis. Will über ein Interface die Zeit ermitteln, die der PC für die Speicherung jedes adds braucht (Objekt addInteger).
Wie komme ich hier weiter?
Vielen Dank im Vorraus!
versuche gerade was zu programmieren und drehe mich im Kreis. Will über ein Interface die Zeit ermitteln, die der PC für die Speicherung jedes adds braucht (Objekt addInteger).
Wie komme ich hier weiter?
Vielen Dank im Vorraus!
Code:
public interface Masszahlen
{
float getAddDurchschnitt ();
}
________________________________________________________________________
public interface Integerspeicher
{
void addInteger(int z); // int einfügen
boolean contains(int z); // ist int enthalten?
void deleteInteger(int z); // int löschen
void toStart(); // Zeiger an den Anfang des Integerspeichers
int getNext(); // nächsten int lesen, Zeiger weitersetzen
boolean hasNext(); // prüfen, ob noch nicht am Ende
}
___________________________________________________________________________
public class SimpleIntegerspeicher
implements Integerspeicher,Masszahlen
{
private int size;
private int numint;
private int[] theData;
private int pointer;
private float time1 = 0;
public SimpleIntegerspeicher(int s)
{
theData=new int[size=s];
numint=pointer=0;
}
public SimpleIntegerspeicher() { this(16); }
public boolean contains(int s)
{
for (int i=0;i<numint;i++)
if (theData[i] == s) return true;
return false;
}
public void addInteger(int s)
{
if (numint==size)
{
int newsize=size+16;
int[] newArray=new int[newsize];
for (int i=0;i<size;++i) newArray[i]=theData[i];
theData=newArray;
size=newsize;
}
theData[numint++]=s;
}
public void deleteInteger(int s)
{
for (int i=0;i<numint;i++)
if (theData[i] == s)
{
for (int j=i+1;j<numint;j++) theData[j-1]=theData[j];
--numint;
--i;
}
return;
}
public void toStart() { pointer=0; }
public int getNext()
{
return theData[pointer++];
}
public boolean hasNext()
{
return (pointer < numint);
}
public float getAddDurchschnitt ()
{
time1 = System.currentTimeMillis();
return time1;
}
public static void main(String[] args)
{
Integerspeicher sp = new SimpleIntegerspeicher(); //absichtlich anfangs nur 16
Masszahlen mz = new SimpleIntegerspeicher();
final int bereich = 99;
final int anzahl = 10;
int i = 0;
int max = 5000;
System.out.println("Anzahl Zahlen: "+max);
while (i<max) {
sp.addInteger((int)(bereich*Math.random()));
i++;
}
// Zeige Inhalt des Speichers
System.out.println("Inhalt vor dem Löschen:");
sp.toStart();
while (sp.hasNext()) System.out.print(sp.getNext()+" ");
// Lösche ein wenig
for (i=0; i < max/2; i++) sp.deleteInteger((int)(bereich*Math.random()));
// Zeige Inhalt des Speichers
System.out.println("\nInhalt nach dem Löschen:");
sp.toStart();
while (sp.hasNext()) System.out.print(sp.getNext()+" ");
}
}