# Schulprojekt



## my-lunatix.de (23. Mai 2008)

Hallo, 
ich habe im Info-Unterricht in der Schule ein Projekt zu realisieren (Telefonbuch), komme jedoch nicht so ganz klar. 
Ich habe bereits einen Anfang gefunden, jedoch fehlen mir noch zwei Methoden, einmal Benutzer ordnen (Methode vorhanden, funktioniert jedoch nicht recht) und einmal Benutzer hinzufügen. Könnt ihr mir helfen, und wenn evtl. mal jemand kurz Zeit hat mir die Methoden kurz eintippen (Für euch Profis sicherlich kein Problem, und ich verzweifel dran  :bahnhof: ).

Ich habe die Datei mal auf meinen Webspace geladen:

http://web215.mis04.de/Anschluss.java

Wäre euch echt tierisch dankbar, wenn sich einer erbarmen würde, solche Foren sind gerade meine letzte Rettung   

Liebe Grüße


----------



## Beni (23. Mai 2008)

Hausaufgaben gehören in die Hausaufgaben Rubrik...

*verschoben*


----------



## ARadauer (23. Mai 2008)

darfst du die Klassen aus der API verwenden? Collections usw...?


----------



## my-lunatix.de (23. Mai 2008)

Hi, ups sorry gar nicht entdeckt die Rubrik! Sorry!

Sorry, Collections etc., noch nie was von gehört. Das sollte halt glaube auf einfachste Art und Weise gelöst werden, halt mit Feldern, Klassen etc. Ich hoffe, dass ist das was du hören wolltest?!  :lol:


----------



## ARadauer (23. Mai 2008)

hab schon lange nicht mehr händisch sortiert, aber so würde das ungefähr funktionieren

```
public static void BenutzerOrdnen(Anschluss[]feld){
  	System.out.println("ordne");
    int n= feld.length;
    boolean sortieren = true;
    System.out.println("solange was getascht wurde sortieren wir");
    while(sortieren){
    	System.out.println("sortieren");
    	sortieren = false;
	    for (int i=0;i<n-1;i++) {	    	
	    	if(feld[i]==null||feld[i+1]==null||feld[i].nachname==null||feld[i+1].nachname==null)
	    		continue;
	    	System.out.println("Vergleiche: "+feld[i].nachname+" mit "+feld[i+1].nachname+" ="+feld[i].nachname.compareTo(feld[i+1].nachname));
	    	if(feld[i].nachname.compareTo(feld[i+1].nachname)>0){
	    		System.out.println("tauschen");
	    		sortieren=true;
	    		Anschluss temp = feld[i];
	    		feld[i] = feld[i+1];
	    		feld[i+1] = temp;
	    	}
	    	
	    }
    }

  }
```
gibt sicher bessere methoden, aber das ist meiner meinung nach die einfachste zum verstehen. wir schaun uns immer zwei elemente an, wenn das größere als erstes steht tauschen wir. dann schaun wir uns die nächsten beiden an. alle durch. das machen wir so lange, bis nichts mehr getauscht wurde.

ich hab system.out.println anweisungen rein geschrieben, damit du das nachvollziehen kannst


----------



## ARadauer (23. Mai 2008)

beim einfügen siehts so aus


```
case '4':
           int i=0;
           while (feld[i].telefonnummer!=null & i<25) {
            i++;
           }
           feld[i] = new Anschluss();
           BenutzerEinlesen(feld[i]);
           break;
```


while (feld_.telefonnummer=="000" & i<25) {
?? versteh ich nicht. du suchst solange bis eine leere stelle kommt, instanzierst ein objekt und übergibst dieses objekt deiner füllmethode._


----------



## my-lunatix.de (23. Mai 2008)

Wooow, vielen vielen Dank! Ja, ob es nun bessere Methoden gibt, oder nicht, hauptsache sie funktioniert    
Ich werde sie gleich mal ins Programm mit einbeziehen, jetzt fehlt mir nur noch die Möglichkeit neue Benutzer einzufügen.



Vielen Dank bis hierhin!  


Ach ja, und wie kannst du mir bitte nochmal den genauen Befehl geben, wie ich die Methode aufrufen muss?
Ist BenutzerOrdnen(feld); richtig ?


----------

