# Kursverwaltung



## Berta (6. Dez 2011)

Hallo Forum,


ich hab leider probleme mit dieser aufgabe, ich weiß bloß nicht wie ich anfangen soll. auch die set get methode ist mir nicht ganz klar. kann mir da jmd helfen?

die aufgabe lautet, dass ich eine tesklasse uni schreibe, die kurse verwaltet.

da soll ich ein array vom typ kurs anlegen, die die attribute: kostenlos namekursleiter titelkurs und anzahl speichert. die anzahl ist n und soll  über eine Konsoleneingabe des Benutzers initialisiert werden.

die kurse sollen mit  inftech1-Kxx, beginnend mit 1, benannt werden. es sollen auch sinnvolle default werte zugewiesen werden.

was bedeutet default werte? ich weiß nicht was mit standard werten gemeint ist.


ich denk mal mir reichen nur ein paar kleine tipps und ratschläge, dann sollte ich es hinkriegen.

test class Uni {

	String Kurs [] = new Kurs();

	int n = 0;


ja und jetzt bin ich unsicher und weiß nicht weiter...

vielen dank dafür

bis dann

berta


----------



## Xeonkryptos (6. Dez 2011)

Default-Werte sind Standardwerte. Standardwerte sind allgemein geltende Werte, die bei einer Ersterstellung von Objekten, Datenbanken, whatever als "Platzhalter" verwendet werden. Die Standardwerte können passen, müssen aber nicht und können dann geändert werden zu individuellen Werten.

Ein Beispiel wäre für ein Standardwert: Zimmergröße: 10*20m². Trifft nicht auf jedes Zimmer zu, kann man aber als Beispiel-/Durchschnittswert betrachten. Das halt auf deine Aufgabe angepasst.

Die Eingaben über die Konsole kannst du ganz einfach mit der Klasse [JAPI]Scanner[/JAPI] erreichen.


----------



## Andi_CH (6. Dez 2011)

Vermutlich müsste diese Zeile


```
String Kurs [] = new Kurs();
```

etwa so aussehen:


```
Kurs[] dieKurse = new Kurs[5];
for(int i=0; i<dieKurse.length; i++) {
	dieKurse[i] = new Kurs();
}
```

Hast du die Klasse Kurs schon erstellt?


----------



## Berta (6. Dez 2011)

um ehrlich zu sein bin ich verwirrt eine for-schleife zu benutzen, wusst ich ehrlich gesagt nicht so direkt, aber wird wohl so sein.

also ich verstehe die aufgabe auch nicht so ganz


----------



## Andi_CH (6. Dez 2011)

Berta hat gesagt.:


> um ehrlich zu sein bin ich verwirrt eine for-schleife zu benutzen, wusst ich ehrlich gesagt nicht so direkt, aber wird wohl so sein.
> 
> also ich verstehe die aufgabe auch nicht so ganz



Weisst du überhautp was [] bedeutet?
Weisst du was String bedeutet?
Weiss du was Kurs bedeutet?

Willst du nicht lieber beginnen zu lernen wie man programmiert?


----------



## Berta (6. Dez 2011)

naja, [] das ist ein array, ein string speichert ein wort und kurs ist die klasse oder halt der normale kurs, tut mir leid, hab halt keine große ahnung. deshalb frag ich ja.


----------



## Berta (6. Dez 2011)

ich hab

zuerst das gemacht

class Kurs {



 	private String titelKurs;

	boolean kostenlos;

	private String nameKursleiter;


	private int Anzahl;
}


und dann 

class Testklasse {

	public static void main(String[] args){

dann, weiß ich nicht weiter...


----------



## Final_Striker (6. Dez 2011)

Ein Konstruktor und Get-/Set-Methoden für deine Klasse Kurs wäre sinnvoll.

Als nächstes würde ich dann in der main-Methode ein Paar Kurs Objekte erstellen. Das mit der Benutzereingaben würde ich als letztes machen.

Und beachte bitte den *dicken* roten Hinweis wenn du einen Beitrag erstellst.


----------



## Berta (6. Dez 2011)

Kurs[] Kurse = new Kurs[100]
		Kurse[0] = new Konto();
		Kurse[0].set titelKurs;

is das ein guter anfang?


----------



## Final_Striker (6. Dez 2011)

Die letzte Zeile ist falsch aber ja.
Versuch mal zuerst einfach nur Objekte zu erstellen ohne ein Array. Ich denke da fehlen dir noch die Grundlagen.


----------



## Berta (6. Dez 2011)

ich habs mal so gemacht, es klappt schon fasst.

ich hab diese klasse:


class Kurs {



 	private String titelKurs;

 	public void settitelKurs (String t) {

 	titelKurs = t;
	}
	public String gettitelKurs(){
		return titelKurs;
	}





	private boolean kostenlos;

	public void setkostenlos (boolean k) {

	kostenlos = k;
	}
	public boolean getkostenlos(){
		return kostenlos;
	}






	private String nameKursleiter;

	public void setnameKursleiter (String l) {

 	nameKursleiter = l;
	}
	public String getnameKursleiter(){
		return nameKursleiter;
	}


	private int Anzahl;

	public void setAnzahl (int a) {

 	Anzahl = a;
	}
	public int getAnzahl(){
		return Anzahl;
	}
}



und einmal diese:

class Testklasse {

	public static void main(String[] args){

		Kurs[] Kurse = new Kurs[3];
		Kurse[1] = new Kurs();
		Kurse[1].settitelKurs("Musik");
		Kurse[1].setkostenlos(true);
		Kurse[1].setnameKursleiter("Mecki");
		Kurse[1].setAnzahl(7);

		Kurse[2] = new Kurs();
		Kurse[2].settitelKurs("Sport");
		Kurse[2].setkostenlos(false);
		Kurse[2].setnameKursleiter("Lecki");
		Kurse[2].setAnzahl(8);

		Kurse[0] = new Kurs();
		Kurse[0].settitelKurs("Kunst");
		Kurse[0].setkostenlos(true);
		Kurse[0].setnameKursleiter("Alfred");
		Kurse[0].setAnzahl(9);

		for( int i = 0; i<Kurse.length; i++){

			System.out.println("Kurs" + Kurse[0].gettitelKurs());
			System.out.println("kostenlos" + Kurse[0].getkostenlos());
			System.out.println("Kursleiter" + Kurse[0].getnameKursleiter());
			System.out.println("Anzahl" + Kurse[0].getAnzahl());

			System.out.println("Kurs" + Kurse[1].gettitelKurs());
			System.out.println("kostenlos" + Kurse[1].getkostenlos());
			System.out.println("Kursleiter" + Kurse[1].getnameKursleiter());
			System.out.println("Anzahl" + Kurse[1].getAnzahl());

			System.out.println("Kurs" + Kurse[2].gettitelKurs());
			System.out.println("kostenlos" + Kurse[2].getkostenlos());
			System.out.println("Kursleiter" + Kurse[2].getnameKursleiter());
			System.out.println("Anzahl" + Kurse[2].getAnzahl());
		}
	}
}
 leider zeigt er mir das an:



KursKunst
kostenlostrue
KursleiterAlfred
Anzahl9
KursMusik
kostenlostrue
KursleiterMecki
Anzahl7
KursSport
kostenlosfalse
KursleiterLecki
Anzahl8
KursKunst
kostenlostrue
KursleiterAlfred
Anzahl9
KursMusik
kostenlostrue
KursleiterMecki
Anzahl7
KursSport
kostenlosfalse
KursleiterLecki
Anzahl8
KursKunst
kostenlostrue
KursleiterAlfred
Anzahl9
KursMusik
kostenlostrue
KursleiterMecki
Anzahl7
KursSport
kostenlosfalse
KursleiterLecki
Anzahl8

ich weiß nicht, wie ich es bessern kann...


----------



## Michael... (6. Dez 2011)

Berta hat gesagt.:


> ich weiß nicht, wie ich es bessern kann...


Vielleicht die Möglichkeiten, die eine Schleife bietet auch nutzen ;-)
Übrigens gibt es hier spezielle Java Tags um Java Code darzustellen

```
for( int i = 0; i<Kurse.length; i++){
     System.out.println("Kurs" + Kurse[i].gettitelKurs());
     System.out.println("kostenlos" + Kurse[i].getkostenlos());
     System.out.println("Kursleiter" + Kurse[i].getnameKursleiter());
     System.out.println("Anzahl" + Kurse[i].getAnzahl());
}
```
Variablen beginnen in Java mit kleinBuchstaben.


----------



## Berta (6. Dez 2011)

danke für deine antwort, hatte auch zuerst i, aber es kommt das selbe raus.


----------



## Berta (6. Dez 2011)

geht nicht, ist gleich geblieben, ob mit oder ohne i


----------



## Berta (6. Dez 2011)

kann mir jmd helfen und mir nen tipp geben, es besser darzustellen? biiiitttttteeeeeee


----------



## Michael... (6. Dez 2011)

Berta hat gesagt.:


> geht nicht, ist gleich geblieben, ob mit oder ohne i


Was ist gleich geblieben? Wie schaut der Code der Testklasse jetzt aus? Bitte an die Java Tags denken


----------



## Berta (6. Dez 2011)

ich weiß nicht was ein java tag ist, sorry, naja, auch wenn ich es so habe:

System.out.println("Kurs" + Kurse_.gettitelKurs());
			System.out.println("kostenlos" + Kurse.getkostenlos());
			System.out.println("Kursleiter" + Kurse.getnameKursleiter());
			System.out.println("Anzahl" + Kurse.getAnzahl());


kommt folgendes aus der konsole:

KursKunst
kostenlostrue
KursleiterAlfred
Anzahl9
KursKunst
kostenlostrue
KursleiterAlfred
Anzahl9
KursKunst
kostenlostrue
KursleiterAlfred
Anzahl9
KursMusik
kostenlostrue
KursleiterMecki
Anzahl7
KursMusik
kostenlostrue
KursleiterMecki
Anzahl7
KursMusik
kostenlostrue
KursleiterMecki
Anzahl7
KursSport
kostenlosfalse
KursleiterLecki
Anzahl8
KursSport
kostenlosfalse
KursleiterLecki
Anzahl8
KursSport
kostenlosfalse
KursleiterLecki
Anzahl8

ich würds gern optimierter haben, leider hab ich keinen plan, wie ichs anstellen soll..._


----------



## Michael... (6. Dez 2011)

Berta hat gesagt.:


> ich weiß nicht was ein java tag ist, sorry,


[/code] und 
	
	
	
	





```
sind Java Tags (nur in umgekehrter Reihenfolge zu verwenden) und können z.B. mittels des Java Icons (der dampfenden Kaffeetasse hier eingefügt werden.
Interessant wäre der Code der die Ausgabe macht und nicht die Ausgabe selbst.
```


----------



## Final_Striker (7. Dez 2011)

Wenn du nach dem _Kurs _ ein Leerzeichen läßt, dann klebt das auch nicht so zusammen


```
System.out.println("Kurs " + Kurse[i].gettitelKurs());
```

alternativ


```
System.out.println("Kurs: " + Kurse[i].gettitelKurs());
```

oder


```
System.out.println("Kurs: \t" + Kurse[i].gettitelKurs());
```


----------

