Gast Drops98 Geschrieben 19. Januar 2006 Melden Share Geschrieben 19. Januar 2006 Hallo zusammen, hoffe hier kann geholfen werden... Mein Kumpel muss fuer das Studium eine Java-Aufgabe loesen. Ich habe selbst noch nichts mit Java gemacht vielleicht hat jemand eine Loesung für mich: seine Mail: ich habe das Problem, dass ich nicht weiß wie man aus dem Name des ersten Studenten "Max" einen "Peter" macht! Meine Vermutung war das es in der Haupt-Klasse heißt: s1.setName("Peter"); und in der Klasse Student: private String name; public void setName(String n){ name = n; } Aber wenn ich das so mache, wirft er mir dennoch den Namen "Max" aus!?! Ich komme einfach nicht drauf. hier die beiden Sourcen Danke fuer Eure Hilfe Drops #(File: Haupt. Java) class Haupt{ public static void main (String args[]){ Student s1 = new Student("Max",1985,2468); Student s2 = new Student("Moritz",1986,1357,"Jura"); Student s3 = new Student("Lisa","Beier","Flugstrasse",4,"Hannover","muede"); } } #(File: Student. Java) class Student{ private boolean muede; private boolean hungrig; private String name; private int geburtsjahr; private int matrikelnummer; private String studienfach; private String nachname; private String strasse; private int hausnummer; private String stadt; private String zustand; public Student(){ } public Student (String n,int g,int m){ name = n; geburtsjahr = g; matrikelnummer = m; System.out.println ("-----Ihre Daten-----"); System.out.println ("Name: "+n); System.out.println ("Geburtsjahr: "+g); System.out.println ("Matrikelnummer: "+m); System.out.println ("--------------------"); } public Student (String n,int g,int m,String s){ name = n; geburtsjahr = g; matrikelnummer = m; studienfach = s; System.out.println ("-----Ihre Daten-----"); System.out.println ("Name: "+n); System.out.println ("Geburtsjahr: "+g); System.out.println ("Matrikelnummer: "+m); System.out.println ("Studienfach: "+s); System.out.println ("--------------------"); } public Student (String n,String m,String o,int h,String s,String l){ name = n; nachname = m; strasse = o; hausnummer = h; stadt = s; zustand = l; System.out.println ("-----Ihre Daten-----"); System.out.println ("Name: "+n); System.out.println ("Nachname: "+m); System.out.println ("Strasse: "+o); System.out.println ("Hausnummer: "+h); System.out.println ("Stadt: "+s); System.out.println ("Zustand: "+l); System.out.println ("--------------------"); } } Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
q2be Geschrieben 19. Januar 2006 Melden Share Geschrieben 19. Januar 2006 (bearbeitet) hatte mal 2 semester java bin aber im moment nicht mehr so in dem thema, aber stellt "void" nicht eine klassenoperation dar? anstatt "void" müsste er "Student" angeben. glaub ich zumindest... gruß q2be EDIT er könnte es mal so probieren: public Student setName(String n){ this.name = n; } und diese operation mit s1.setName(Peter) aufrufen. (nach dem geheimnisprinzip müsste man diese operation wohl als private definieren.) bearbeitet 19. Januar 2006 von q2be Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
gamemaster080684 Geschrieben 19. Januar 2006 Melden Share Geschrieben 19. Januar 2006 (bearbeitet) Hi, also void passt schon, wenn die Klasse nichts zurück liefert also meiner Meinung nach müsste er in der Klasse Student eine neue Routine hinzufügen private void changeName(String n) { name=n; } und das sollte er dann im Hauptprogramm wie folgt aufrufen s1.changeName("Peter"); sollte eigentlich funktionieren ;-) du darfst halt nicht nochmal eine "name" variable definieren sonst hast du 2 stück und musst auf die eine mit this zugreifen also private String name; darf nur einmal in der Klasse Student stehen und in der routine changeName nicht mehr ;-) Sag bitte bescheid, ob es funktioniert hat So Long..... Gamemaster bearbeitet 19. Januar 2006 von gamemaster080684 Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Gast Drops98 Geschrieben 20. Januar 2006 Melden Share Geschrieben 20. Januar 2006 erstmal vielen Dank! s1.changeName("Peter"); hat lt. meinem Kumpel funktioniert und dann wieder nicht (an der Uni ging es...zuhause nicht???). Er ist nun der Meinung, dass es an seiner Soft liegt und will neu installieren...kann ich mir zwar kaum vorstellen, dass es daran liegt, aber nachdem es ja funktioniert hat ist es erstmal gut. also nochmals besten Dank fuer die schnelle Hilfe CU Drops Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Empfohlene Beiträge