Jump to content

Java Programmieraufgabe - Bitte Hilfe!!!


Gast Drops98

Empfohlene Beiträge

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

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 von q2be
Link zu diesem Kommentar
Auf anderen Seiten teilen

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 von gamemaster080684
Link zu diesem Kommentar
Auf anderen Seiten teilen

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

  • Wer ist Online   0 Benutzer

    • Keine registrierten Benutzer online.
×
×
  • Neu erstellen...