Hallo zusammen,
ich habe in Eclipse ein Soldatenarray erstellt und sie mit Bubblesort der Größe nach sortiert und ausgegeben. Meine Frage ist wie ich es allgemeiner schreiben könnte, sodass ich nicht mehr an Soldaten gebunden bin und z.B. noch ein Array an Flugzeugen erstellen und sortieren kann, ohne Bubblesort umschreiben zu müssen.
Und noch eine andere Frage nebenbei: wie kann ich mein Sortierbar Interface vom Bubblesort Package in der Soldat Klasse einbinden?
PS: Keine Ahnung wo die Zeile 66 herkommt, kann sie auch nicht löschen.
</armee1.length;i++)
ich habe in Eclipse ein Soldatenarray erstellt und sie mit Bubblesort der Größe nach sortiert und ausgegeben. Meine Frage ist wie ich es allgemeiner schreiben könnte, sodass ich nicht mehr an Soldaten gebunden bin und z.B. noch ein Array an Flugzeugen erstellen und sortieren kann, ohne Bubblesort umschreiben zu müssen.
Und noch eine andere Frage nebenbei: wie kann ich mein Sortierbar Interface vom Bubblesort Package in der Soldat Klasse einbinden?
PS: Keine Ahnung wo die Zeile 66 herkommt, kann sie auch nicht löschen.
Java:
package Soldat;
import bubblesort.Bubblesort;
class Armee
{
private Soldat[]array;
public Armee(Soldat[] array)
{
this.array=array;
}
}
public class Soldat
{
private String name;
private int größe;
public Soldat(String name, int größe)
{
this.name=name;
this.größe=größe;
}
public String toString()
{
return name + " " + größe;
}
public int getGroesse()
{
return größe;
}
public int istGrößer(Soldat element)
{
Soldat einSoldat = element;
if (größe < einSoldat.getGroesse()) {
return -1;
} else {
return größe - einSoldat.getGroesse();
}
}
public static void main(String[] args)
{
Soldat[] Armee1=new Soldat[10];
Armee Test=new Armee(Armee1);
Armee1[0]= new Soldat("Heiner", 185);
Armee1[1]= new Soldat("Klaus", 152);
Armee1[2]= new Soldat("Jürgen", 176);
Armee1[3]= new Soldat("Otto", 195);
Armee1[4]= new Soldat("Hans", 167);
Armee1[5]= new Soldat("Manfred", 144);
Armee1[6]= new Soldat("Holger", 177);
Armee1[7]= new Soldat("Kebab", 133);
Armee1[8]= new Soldat("Günther", 199);
Armee1[9]= new Soldat("Werner", 184);
Bubblesort.sortiere(Armee1);
<armee1.length;i++)
for(int i=0;i<armee1.length;i++)
{
System.out.println(Armee1[i]);
}
}
}
</armee1.length;i++)
Java:
package bubblesort;
import Soldat.Soldat;
interface Sortierbar
{
public int istGrößer(Sortierbar element);
}
public class Bubblesort
{
public static void sortiere (Soldat[] array)
{
boolean swap;
Soldat temp;
do {
swap = false;
for (int i = 0; i < array.length-1; ++i) {
if ( array[i].istGrößer(array[i+1]) < 0) {
temp = array[i];
array[i] = array[i+1];
array[i+1] = temp;
swap = true;
}
}
} while (swap);
}
}
Zuletzt bearbeitet: