H
HansiWinter
Gast
Hallo, ich mal wieder.
Ich lerne weiter JAVA und bin gerade bei einer Aufgabe, wo ich nicht so recht weiß... also ich soll ein Auto Objekt erzeugen, dass verschiedene Sachen kann. Also ich habe hier folgende Klassen angelegt:
1)
2) Das hier ist die Ladungsklasse, die eigentlich (nach meiner Idee) nur eine Variable hat, die über Getter/Setter gesetzt wird. Ich soll so eine Klasse auf jeden Fall anlegen (über den Inhalt wird aber keine Aussage gemacht..)
3) Hier erzeuge ich ein 'Auto' und mache Dinge damit.
Nun will ich folgendes Erreichen:
Und zwar will ich dem Auto ein bestimmtes 'ladegewicht' zuordnen, dass dieses laden kann. Wenn schon etwas auf dem Auto geladen ist, kann man nichts mehr draufladen, wenn nichts drauf ist, kommt es darauf an, ob das 'gewicht' der Ladung nicht zu schwer ist, also gewicht <= ladegewicht soll gelten.
Mein Problem ist jetzt aber, dass die Klasse 'Ladung' ja nicht in Verbindung mit 'Auto' steht. Irgendwo müsste ich also doch jetzt eine Instanz erzeugen, oder? Wie genau mache ich das und wo?
Ich lerne weiter JAVA und bin gerade bei einer Aufgabe, wo ich nicht so recht weiß... also ich soll ein Auto Objekt erzeugen, dass verschiedene Sachen kann. Also ich habe hier folgende Klassen angelegt:
1)
Java:
Das ist meine Autoklasse. Ich arbeite gerade an den Methoden 'ladezu' und 'entlade':
public class Auto{
private String automarke;
private String autotyp;
private int pszahl;
private double verbrauch;
private double tankgroeße;
private double tankinhalt;
private double resttank;
private double gesamtverbrauch;
private double restdistanz;
private double entfernung;
private Ladung ladung;
private int ladegewicht;
String getautomarke(){
return automarke;
}
public void setautomarke(String marke){
automarke=marke;
}
String getautotyp(){
return autotyp;
}
public void setautotyp(String typ){
autotyp=typ;
}
int getpszahl(){
return pszahl;
}
public void setpszahl(int ps){
if (ps >= 0)
pszahl=ps;
else
System.out.println("So lahm kann die Kiste doch gar nicht sein!");
}
public void fahre (double entfernung, double verbrauch, double tankinhalt){
if (this.tankinhalt >= this.verbrauch/100*entfernung)
{resttank = this.tankinhalt - this.verbrauch/100*entfernung;
gesamtverbrauch = this.verbrauch/100*entfernung;
System.out.println("In meinem Tank sind jetzt noch " +resttank+" Liter drin. Ich habe also "+gesamtverbrauch+" insgesamt verbraucht.");}
else
{System.out.println("Achtung! Die Tankfuellung reicht nicht aus!");
restdistanz = this.tankinhalt/this.verbrauch;
System.out.println("Ich kann nur noch "+restdistanz+" Kilometer fahren, dann bleibt die Schuessel stehen!");}
}
public double getresttank(){
return resttank;
}
public double getgesamtverbrauch(){
return gesamtverbrauch;
}
public double getrestdistanz(){
return restdistanz;
}
public double getverbrauch(){
return verbrauch;
}
public void setverbrauch(double verbrauch){
this.verbrauch=verbrauch;
}
public double gettankgroeße(){
return tankgroeße;
}
public void settankgroeße(double tankgroeße){
this.tankgroeße=tankgroeße;
}
public double gettankinhalt(){
return tankinhalt;
}
public void settankinhalt(double tankinhalt){
this.tankinhalt=tankinhalt;
}
public void setentfernung(double entfernung){
this.entfernung=entfernung;
}
public double getentfernung(){
return entfernung;
}
public void ladezu (Ladung eineLadung){
if (ladung == 'JA')
{System.out.println("Auf diesem Auto ist bereits etwas geladen. Mehr geht echt nicht mehr drauf!!");}
else
{if gewicht <= ladegewicht)
{ladegewicht = gewicht;
System.out.println("Auf das Auto wurden nun "+ladgewicht+" drauf geladen.");}
else
{System.out.println("Für diese Karre sind "+ladegwicht+" echt zu viel! Schau mal, dass du das woanders draufkriegst!");}
}
public Ladung entlade(){
}
}
2) Das hier ist die Ladungsklasse, die eigentlich (nach meiner Idee) nur eine Variable hat, die über Getter/Setter gesetzt wird. Ich soll so eine Klasse auf jeden Fall anlegen (über den Inhalt wird aber keine Aussage gemacht..)
Java:
public class Ladung{
int gewicht;
public setgewicht (double gewicht){
this.gewicht = gewicht;
}
public double getgewicht (){
return gewicht;
}
}
3) Hier erzeuge ich ein 'Auto' und mache Dinge damit.
Java:
public class AutoAnwendung{
public static void main (String[]args){
Auto meinauto = new Auto();
meinauto.setautomarke("Audi");
meinauto.setautotyp("Cabrio");
meinauto.setpszahl(220);
meinauto.setverbrauch(1.0);
meinauto.settankgroeße(50.0);
meinauto.settankinhalt(34);
String marke = meinauto.getautomarke();
System.out.println("Sie fahren einen "+marke);
System.out.println("Das ist ein "+meinauto.getautotyp());
int ps = meinauto.getpszahl();
System.out.println("Der macht "+ps+" Sachen!");
// Die mittlere Version ist am Besten, weil man da keine neue
// Variable braucht!
System.out.println("Mein Auto verbraucht "+meinauto.getverbrauch()+" Liter auf 100 Kilometer.");
System.out.println("In den Tank passen "+meinauto.gettankgroeße()+" Liter.");
System.out.println("Drin sind aber nur noch "+meinauto.gettankinhalt()+" Liter.");
meinauto.fahre(2900, +meinauto.getverbrauch(), +meinauto.gettankinhalt());
System.out.println("Ich will jetzt "+meinauto.getentfernung()+" Kilometer damit fahren!");
}
}
Nun will ich folgendes Erreichen:
Und zwar will ich dem Auto ein bestimmtes 'ladegewicht' zuordnen, dass dieses laden kann. Wenn schon etwas auf dem Auto geladen ist, kann man nichts mehr draufladen, wenn nichts drauf ist, kommt es darauf an, ob das 'gewicht' der Ladung nicht zu schwer ist, also gewicht <= ladegewicht soll gelten.
Mein Problem ist jetzt aber, dass die Klasse 'Ladung' ja nicht in Verbindung mit 'Auto' steht. Irgendwo müsste ich also doch jetzt eine Instanz erzeugen, oder? Wie genau mache ich das und wo?