Probleme mit verschiedenen Private Klassen

j0k3r87

Mitglied
Hallo liebe Community !

Ich hoffe ihr könnt mir etwas helfen... ich soll insgesamt 4 Klassen schreiben(Student,Vorlesung,Belegung,Studenttest).

In Klasse Student sollen Name,Vorname und Matrikelnummer als Variablen als private deklariert werden.
Dazu noch:
– einen Konstruktor, welcher als Parameter den Namen, den Vornamen und die Matrikelnummer
des entsprechenden Studenten bekommt und die Attribute entsprechend setzt,
– für jedes Attribut eine Methode, welche den Wert des jeweiligen Attributes mittels return
zurückgibt,
– eine Methode toString, die Vorname, Nachname und in Klammern die Matrikelnummer
als Zeichenkette zurückliefert

So weit bin ich hier gekommen:

Code:
class Student {

	private String name;
	private String vorname;
	private int matrikelnummer;
	
	Student (String nname, String vname,int matnr)
	{
	name = nname;
	vorname = vname;
	matrikelnummer = matnr;
	}
	
	public String getname()
	{
		return name;
	}
	
	public String getvorname()
	{
		return vorname;
	}
	
	public int getmatrikelnummer()
	{
		return matrikelnummer;
	}
	
	@Override public String toString()
		{
			return (vorname + ", " + nachname + ", " + "("+matrikelnummer+")" ;
		}
}

So ähnlich soll dies auch für die Klassen Vorlesung und Belegung erfolgen.

Code:
class Vorlesung {
	private String titel;
	private short leistungspunkte;
	
	Vorlesung (String vtitel, short lp)
	{
	this.titel = "Objektorientierte Programmierung";
	this.leistungspunkte = 5;
	
	if(leistungspunkte < 0)
		{
		System.out.prntln("Leistungspunkte dürfen nicht negativ sein")
		System.exit(1)
		}
	}
	
	public String gettitel()
	{
		return titel;
	}
	
	public short getleistungspunkte()
	{
		return leistungspunkte;
	}
	
	@Override public String toString()
		{
			return (titel + " " + "(" + leistungspunkte + ")");
		}
}

Code:
class Belegung {
	double note;
	String titel;
	String student;
	
	
	
}

in der Klasse studenttest sollen dann in der Main funktion neue Objekte erzeugt werden, danach folgt eine Ausgabe. nur funktioniert das noch nicht richtig und ich habe nun schon verschiedene varianten versucht, nur finde ich den denkfehler nicht 🙁

Code:
class StudentTest {
static public void main(String[] args) {
	
	//Anlegen der Studenten-Objekte
	
	Student schmidt = new Student ();
	schmidt.vorname = "Frank";
	schmidt.nname = "Schmidt";
	schmidt.matrikelnummer = 207000000;
	
	Student weiss = new Student ();
	weiss.vorname = "Lisa";
	weiss.name = "Weiss";
	weiss.matrikelnummer = 123456789;
	
	System.out.println(schmidt.vorname +" "+ schmidt.name +", "+ "Matrikel-Nr. " + schmidt.matrikelnummer);
System.out.println(weiss.vorname +" " + weiss.name + ", " + "Matrikel-Nr. " + weiss.matrikelnummer);

}
	
}

Hoffe Ihr könnt mir helfen
 
"Student schmidt = new Student ();"

geht nicht, du hast den Default Konstruktor nicht mehr, da du einen eigenen Konstruktor angelegt hast...

z.b. kannst du das nun so machen : Student schmidt = new Student ("Meier","Hans",1002323);

in deiner toString Methode ist weiterhin "nachname" falsch. Die Variable gibt es nicht und die erste Klammer brauchst du nicht.

In der Main kannst du dann einfach nur System.out.println(schmidt) machen, da du ja extra dafür die toString- Methode gebaut hast (bzw. kannst du auch gar nicht auf die Variablen so zugreifen, da die Private sind, dafür hast du ja wenn deine GETTER)

und die Main- Methode heißt: "public static void main(String[] args) {"
 
Zuletzt bearbeitet:
Code:
schmidt.vorname = "Frank";
genau desrum setzt du die Variablen ja private, damit sie nicht mehr von aussen zugänglich sind.
Code:
System.out.println(schmidt.vorname +" "+ schmidt.name +", "+ "Matrikel-Nr. " + schmidt.matrikelnummer);
ist auch falsch. dafür hast du entweder die Get-Methoden oder dein ToString, also:
Java:
System.out.println(schmidt.getVorname() +" "+ schmidt.getName() +", "+ "Matrikel-Nr. " + schmidt.getMatrikelnummer());

//oder einfach
System.out.println(schmidt.toString());

//oder dann sogar
System.out.println(schmidt);

schau dir auch noch mal die Namingconventions an.

Gruß Vanny
 

Neue Themen


Zurück
Oben