# Suchfunktion



## puetz (14. Februar 2004)

Hallöchen erstmal

Hab ein kleines Problem! Bin ein ziemlicher Anfänger in Sachen Java! 
Wir sollen eine Adressverwaltung in der Schule schreiben Jetzt muss ich noch eine Suchfunktion einbauen, aber keinen Plan habe wie das geht!

Hier mein Quell:

*Das ist doch nicht dein Ernst, hier 3 Seiten Quelltext zu posten. Halte dich bitte an unsere Regeln! Patrick*

----------------------------------------------------------------------------------------------------------------

Würde mich freuen wenn mir jemand dabei helfen könnte!


----------



## tomkruse (14. Februar 2004)

Hi!

Ich verstehe nicht so ganz genau was Du willst? Einen Tipp? Oder gleich die Lösung? ;-)

Vor allem: "Suche" ist keine genaus Beschreibung. Wonach willst Du suchen? 
Soll man den Namen eingeben können und die Adresse erhalten?

Oder soll nach ähnlichen Namen gesucht werden können?

Im ersten Fall würde ich Dir empfehlen, anstatt des Vectors eine Hashtable zu verwenden. Die nimmt Dir praktisch die ganze Arbeit ab. Einziger Sonderfall: derselbe Name darf nicht zweimal vorkommen ...

Cu - Tom.


----------



## puetz (18. Februar 2004)

Es soll nach allen Kriterien gesucht werden, d.h. nach Name, Vorname, Ort, PLZ, usw.!


----------



## steff aka sId (24. Februar 2004)

hab mal ein ähnliches Programm geschrieben. Allerdings habe ich da keinen Vector sondern eine LinkedList benutzt und bin bei der Suchfunktion mit einem Listiterator durch die Liste gegangen und hab das gesuchte mit dem Listeninhalt verglichen..


----------



## BK_Werne-ITA (3. März 2004)

*Adressverwaltung.java*

hi wenn du das komplette programm hast 
kannst du mir das dann auch schicken


----------



## steff aka sId (3. März 2004)

Hier das ist das Programm was ich mal geschrieben hatte. Hat jetzt nicht ganz die ganzen Einträge die du hast aber die Suchfunktion ist implementiert.


----------



## BK_Werne-ITA (5. März 2004)

steff aka sId hat gesagt.:
			
		

> Hier das ist das Programm was ich mal geschrieben hatte. Hat jetzt nicht ganz die ganzen Einträge die du hast aber die Suchfunktion ist implementiert.



danke ich habe mir das mal angeguckt und das ist viel zu umfangreich ich brauche was einfaches
wie sowas z.b.

```
import Prog1Tools.IOTools;

 public class AdressBuch_v2 {

 // Die Adressdaten werden in einer Klasse zusammengefasst
 public static class Adresse {
 public String name;
 public String strasse ;
 public int hausnummer;
 public int postleitzahl ;
 public String wohnort;
 public String mail;
 public String kommentar;
}

 // das eigentliche Hauptprogramm
 public static void main(String[] args) {
 // Benoetigte Variablen
 Adresse[] adressen= new Adresse[20];
 Adresse adr;
 boolean fertig=false ;
 // Initialisiere das Feld
 for ( int i=0;i<20;i++)
 adressen[i]=new Adresse();
 adr=adressen[0];
 // Starte das Programm mit einer huebschen Ausgabe
 System.out.println( "================");
 System.out.println( "Adressverwaltung");
 System.out.println( "================");
 // Schleifenbeginn
 while (! fertig ) {
 // Menue
 System.out.println( " ") ;
 System.out.println( "1 = Adresseingabe");
 System.out.println( "2 = Adressausgabe");
 System.out.println( "3 = aktuelle Adresse wechseln");
 System.out.println( "4 = Programm beenden");
 int auswahl=IOTools.readInteger( "Ihre Wahl:");
 // Fallunterscheidung
 switch(auswahl) {
 case 1: // Adresse eingeben
 adr.name =IOTools.readLine ( "Name : ");
 adr. strasse =IOTools.readLine ( "Strasse : ");
 adr.hausnummer =IOTools.readInteger( "Hausnummer: ");
 adr.wohnort =IOTools.readLine ( "Wohnort : ");
 adr. postleitzahl=IOTools.readInteger( "PLZ : ");
 adr.mail =IOTools.readLine ( "E_Mail : ");
 adr.kommentar =IOTools.readLine ( "Kommentar : ");
 break;
 case 2: // Adresse ausgeben
 System.out.println(adr.name);
 System.out.println(adr.strasse+ " "+adr.hausnummer);
 System.out.println(adr. postleitzahl+ " "+adr.wohnort);
 System.out.println( "E_Mail: "+adr.mail);
 System.out.println( "KOMMENTAR: "+adr.kommentar);
 break;
 case 3: // Adresse wechseln
 int n=IOTools.readInteger( "Neue Adressennummer "
 + "(zwischen 0 und 19):");
 adr=adressen[n];
 break;
 case 4: // Programm beenden
 fertig =true;
 break;
 default: // Falsche Zahl eingegeben
 System.out.println( "Eingabefehler!") ;
}
} // Schleifenende
} // Ende des Hauptprogramms
} // Ende des Programms
```


----------



## steff aka sId (6. März 2004)

Entweder ich bin blind oder ich finde bei dir die Suchfunktion nicht *G*. Oder fehlt dir die nur dann schau dir mal in meinem Programm die Klasse Liste an. Der Rest des Programms ist ja haubtsächlich die Gui.


----------

