1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies. Weitere Informationen

Java Anfänger --- Frage zu den Klassen

Dieses Thema im Forum "OS X-Developer" wurde erstellt von messia04, 06.02.06.

  1. messia04

    messia04 Prinzenapfel

    Dabei seit:
    30.06.04
    Beiträge:
    544
    hi.
    Ich habe es dieses Semester mit Programmieren angefangen und habe noch startschwierigkeiten. Undzwar kommt bei meinem folgenden Code eine Fehlermeldung, dass die method setAdresse nicht gelsesen werden kann. Ob der Zugriff auf die Methode im allg. unmöglich ist, oder ich es einfach falsch geschrieben habe:

    Zum Programm:
    Es soll soeine Art Kundendatenbank erstellt werden. Dazu hat man jeweils die Daten des Kunden (Name, Kundennr.,Gesch.Adresse,Priv.Adresse und alle gespeicherten Bestellungen). Wobei es aus verschachtelten Klassen und Arrays bestehen soll.

    Die Bestellungen habe ich im moment noch weggelassen


    Für Tipps oder Ratschläge wäre ich dankbar... :-D

    Code:
    class Bestellungen{
    	int menge,artnr,artpreis;
    	
    	Bestellungen(int artnr,int menge,int artpreis){
    	this.menge=menge;
    	this.artnr=artnr;
    	this.artpreis=artpreis;
    	}
    }
    
    class Adresse{
    	int hausnr,plz;
    	String strasse,ort;
    	
    	Adresse(String str,int hausnr,int plz,String ort){
    	this.strasse=str;
    	this.ort=ort;
    	this.hausnr=hausnr;
    	this.plz=plz;
    	}
    }
    
    
    class Kunde{
    	String name;
    	int knr;
    	Adresse privat,geschaft;
    	Bestellungen[] einkauf;
    
    	Kunde(String name,int knr){
    	this.name=name;
    	this.knr=knr;
    	this.privat=setAdresse();
    	this.geschaft=setAdresse();
    	this.einkauf=new Bestellungen[100];
    	}
    }
    
    
    
    
    class Kundenverwaltung{
    
    
    public static Adresse setAdresse(){
    	
    	String tr=new String();
    	String trrrr=new String();
    	int trr=0;
    	int trrr=0;
    	Out.println("Bitte geben Sie nacheinander Strasse,Hausnummer,PLZ und Ort ein: ");
    	tr=In.readLine();
    	trr=In.readInt();
    	trrr=In.readInt();
    	trrrr=In.readLine();
    	Adresse fertig=new Adresse(tr,trr,trrr,trrrr);
    	return fertig;
      }
    
    
    	
    
      public static void newcustomer(int knummer){
    
    	String neu=new String();
    	Out.print("Name: ");
    	neu=In.readLine();
    	catalog[knummer]=new Kunde(neu,knummer);
    	knr++;
      }
    
            static Kunde[] catalog;
    	static int knr=0;
    
    //  static Kunde search(String name){...}
    //  static void mod(String name){...}
    
    
    
    
      public static void main(String[] args){
    	
    	int auswahl=0;
    	String s=new String();
    	catalog = new Kunde[100];
    
    	Out.println("\n**************Willkommen in unserer Kundendatenbank*******************");
    	Out.println("\nWas möchten Sie gerne tun?");
    	Out.println("\n1 = neuen Kunden hinzufuegen\n2 = Kunden suchen (und evtl. modifizieren)");
    	auswahl=In.readInt();
    	
    	switch(auswahl){
    	  case 1: newcustomer(knr); break;
    //	  case 2: Out.print("Bitte geben sie einen Namen ein: ");
    //		  s=In.readLine();
    //		  search(s);
    //		  break;
    	  default: Out.println("Ungueltige Eingabe");
     	}
      }
    }
     
  2. svn

    svn Prinzenapfel

    Dabei seit:
    20.01.06
    Beiträge:
    553
    Der Code dürfte im allgemeinen nicht gehen. Da es zB nicht out.println heisst sondern System.out.println
    Das selbe für System.in.read();
    Und die Exeption also der try/catch Block fehlt...

    Zu deinem eigentlichen Fehler.
    Wenn du die Methode
    this.privat = setAdresse();
    benutzten willst MUSS sie auch in der jeweiligen Klasse vorhanden sein.
    Oder du benutzt ein Objekt der Klasse in der sich setAdresse befindet.
    Da du die Methode allerdings static gemacht hast musst du auch genau angeben wo die Methode liegt.
    Ergo:
    this.privat = Kundenverwaltung.setAdresse();
     
  3. slayercon

    slayercon Meraner

    Dabei seit:
    17.01.05
    Beiträge:
    231
    Benutzt du zufällig das Buch "Sprechen sie Java" ??? Wenn ja und wenn du die (vorgeschlagenen) Klassen für die Ausgabe benutzt dann stimmt das Out.println() allerdings musst du sie dann über Import zugänglich machen wenn nicht dann hat svn recht.

    lg s.
     
  4. messia04

    messia04 Prinzenapfel

    Dabei seit:
    30.06.04
    Beiträge:
    544
    Danke, habe es korrigiert. Läuft jetzt einwandfrei...

    Ja, ich benutze auch "Sprechen Sie Java?". Unddie IN bzw OUT habe ich importiert. Also die Befehle sind schon richtig. Bzw. Derfehler wurde ja schon gefunden.

    Danke :-D


    @slayercon: Hey, wenn du auch Sprechen Sie Java benutzt, wie importiere ich meine In/Out Klassen ins Programm uEdit??
     
  5. slayercon

    slayercon Meraner

    Dabei seit:
    17.01.05
    Beiträge:
    231
    Etwas späte Antwort...

    Heute brauch ich das Buch nicht mehr :) dunkle Erinnerungen an meinen Java Einstieg werden wach.... Ich kenn uEdit zwar nicht aber nehme mal an das du sie einfach zum Klassenpfad/Buildpath der IDE/Editor hinzufügen musst.

    lg S.
     

Diese Seite empfehlen