hallo zusammen,
also folgendes: hab zwar ähnliches hier schon gefunden, hat mir aber nich viel weitergeholfen....
ich hab ein array mit 3 parametern: matrnr, vorname, name
und ich soll dieses nach name sortieren.
wenn ich den namen als char mache geht alles wunderbar.... aber ein name hat meist nich einen buchstaben^^
deshalb wollte ich es mit strings machen. das problem ist aber, dass ich mit der compareto methode irgendwie die strings nich richtig vergleichen kann, da ich kein <= benutzen kann, mir ist auch klar warum, da nich der inhalt der strings verglichen wird, sondern das objekt.
das konnte ich von der doku in erfahrung bringen.
wie kann ich das ganze jetzt mit strings machen??
hier mein coding:
also folgendes: hab zwar ähnliches hier schon gefunden, hat mir aber nich viel weitergeholfen....
ich hab ein array mit 3 parametern: matrnr, vorname, name
und ich soll dieses nach name sortieren.
wenn ich den namen als char mache geht alles wunderbar.... aber ein name hat meist nich einen buchstaben^^
deshalb wollte ich es mit strings machen. das problem ist aber, dass ich mit der compareto methode irgendwie die strings nich richtig vergleichen kann, da ich kein <= benutzen kann, mir ist auch klar warum, da nich der inhalt der strings verglichen wird, sondern das objekt.
das konnte ich von der doku in erfahrung bringen.
wie kann ich das ganze jetzt mit strings machen??
hier mein coding:
Java:
import java.util.*;
public class Student implements Comparable
{
String matrnr ;
String vorname;
String name;
Student (String matnr, String vorname, String name)
{
this.matrnr = matnr;
this.vorname = vorname;
this.name = name;
}
public int compareTo (Object oref)
{
Student sturef = (Student) oref;
int i = 0;
if (this.name <= sturef.name)
{
i = -1;
}
else
{
i = +1;
}
return i;
}
}
Java:
import java.util.Arrays;
public class Test_Student
{
public static void main (String []args)
{
Student [] students = new Student [7];
students [0] = new Student ("150", "hans", "zimmel");
students [1] = new Student ("150", "hans", "yimmel");
students [2] = new Student ("150", "hans", "ximmel");
students [3] = new Student ("150", "hans", "wimmel");
students [4] = new Student ("150", "hans", "vimmel");
students [5] = new Student ("150", "hans", "uimmel");
students [6] = new Student ("150", "hans", "timmel");
Arrays.sort (students);
/* System.out.println (students[0].name);
System.out.println (students [6].name);
*/
for(int i = 0; i <=6; i++)
{
System.out.println (students[i].name);
}
}
}
Zuletzt bearbeitet: