l!skh
31.12.2008, 11:01
Hi @ all,
lerne seit gestern Java mit BlueJ nach dem Tutorial von http://www.u-helmich.de/inf/BlueJ/kurs11/index.html.
Das aktuelle kleine Projekt ist ein Auto... http://www.u-helmich.de/inf/BlueJ/kurs11/seiten/seite04.html.
Hier mal der aktuelle Code, nur Attribute und Konstruktoren...
public class Auto
{
//Attribute
private double tankvolumen, benzinstand;
private double verbrauch, kmstand;
//Konstruktoren
public Auto()
{
tankvolumen = 70.0; // l
benzinstand = 50.0; // l
verbrauch = 8.6; // l/100km
kmstand =77000;// km
}
public Auto (double tv, double bst, double verb, double km)
{
tankvolumen = tv;
benzinstand = bst;
verbrauch = verb;
kmstand = km;
}
}
Jetzt zum Prioblem bei den Methoden, das ist Übung 4.1, ca. auf der Hälfte der Seite.
public void tanken(double liter)
{
benzinstand = benzinstand + liter;
}
public void anzeigen ()
{
System.out.println("Tankvolumen = "+tankvolumen+" Liter");
System.out.println("Benzinstand = "+benzinstand+" Liter");
System.out.println("Verbrauch = "+verbrauch +" Liter/100km");
System.out.println("km-Stand = "+kmstand +"km");
}
Diese zwei Fragen kann ich nicht beantworten...
a) Warum ist die Methode noch fehlerhaft; was könnte man besser machen? (1 Punkt)
b) Verbessern Sie die Methode entsprechend! (2 Punkte)
Dann zu meinen fragen:
1) zur methode anzeigen
was bedeuten die "+" vor kmstand , also bei System.out.println("km-Stand = "+kmstand +"km"); :?:
Ich hätte geschrieben "System.out.pintln("km-Stand" = "kmstand + km")
2) zur methode Tanken
Die stimmt doch nicht, denn x = x + y ist ja auch nicht ganz richtig :-)
[x = benzinstand / y = liter]
Deshalb würde ich das so schreiben:
public void tanken(double liter, double newbenzinstand)
{
newbenzinstand = benzinstand + liter;
}
---> Beim testen fällt mir jedoch dann auf, dann muss man ja den Endbenzinstand auch eingeben ?!
LG
Danke!
lerne seit gestern Java mit BlueJ nach dem Tutorial von http://www.u-helmich.de/inf/BlueJ/kurs11/index.html.
Das aktuelle kleine Projekt ist ein Auto... http://www.u-helmich.de/inf/BlueJ/kurs11/seiten/seite04.html.
Hier mal der aktuelle Code, nur Attribute und Konstruktoren...
public class Auto
{
//Attribute
private double tankvolumen, benzinstand;
private double verbrauch, kmstand;
//Konstruktoren
public Auto()
{
tankvolumen = 70.0; // l
benzinstand = 50.0; // l
verbrauch = 8.6; // l/100km
kmstand =77000;// km
}
public Auto (double tv, double bst, double verb, double km)
{
tankvolumen = tv;
benzinstand = bst;
verbrauch = verb;
kmstand = km;
}
}
Jetzt zum Prioblem bei den Methoden, das ist Übung 4.1, ca. auf der Hälfte der Seite.
public void tanken(double liter)
{
benzinstand = benzinstand + liter;
}
public void anzeigen ()
{
System.out.println("Tankvolumen = "+tankvolumen+" Liter");
System.out.println("Benzinstand = "+benzinstand+" Liter");
System.out.println("Verbrauch = "+verbrauch +" Liter/100km");
System.out.println("km-Stand = "+kmstand +"km");
}
Diese zwei Fragen kann ich nicht beantworten...
a) Warum ist die Methode noch fehlerhaft; was könnte man besser machen? (1 Punkt)
b) Verbessern Sie die Methode entsprechend! (2 Punkte)
Dann zu meinen fragen:
1) zur methode anzeigen
was bedeuten die "+" vor kmstand , also bei System.out.println("km-Stand = "+kmstand +"km"); :?:
Ich hätte geschrieben "System.out.pintln("km-Stand" = "kmstand + km")
2) zur methode Tanken
Die stimmt doch nicht, denn x = x + y ist ja auch nicht ganz richtig :-)
[x = benzinstand / y = liter]
Deshalb würde ich das so schreiben:
public void tanken(double liter, double newbenzinstand)
{
newbenzinstand = benzinstand + liter;
}
---> Beim testen fällt mir jedoch dann auf, dann muss man ja den Endbenzinstand auch eingeben ?!
LG
Danke!