Hallo Leute,
ich studiere derzeit im 2ten Semester Informatik und hänge momentan an dieser Aufgabe:
gegeben ist diese Klasse
Garage_einparken_ausparken
Mein Code ist noch am Anfang, wenn man das so sagen kann.. denn ich habe nämlich keine Ahnung, wie ich weiter machen soll.
Soll man die Garagenstellplätze als Array übergeben, oder wie soll das sein?
hier ist mein ‚Code‘..
vielleicht hat der ein oder andere von euch ein paar Tipps für mich, so, dass ich die Aufgabe evtl besser verstehe.
Mir ist bewusst, dass mir hier keiner die Lösung codiert und das ist auch gut so, hoffe dennoch auf Hilfe.
Die Aufgabe 1 und damit verbundenen Klassen wie bspw Person oder Auto, habe ich schon geschrieben.
Ich danke euch schonmal herzlich!!
LG
ich studiere derzeit im 2ten Semester Informatik und hänge momentan an dieser Aufgabe:
Aufgabe 2 (Garage)
Nun legen wir im Paket de.hsrm.mi.autogarage.garage eine Klasse Garage an, die die Anzahl der Stellpla ̈tze als Konstruktorparameter erwartet. Anfangs sind die Stellpla ̈tze alle unbelegt (null). Sie sind ab Null durchnumeriert, eine Garage mit 17 Stellpla ̈tzen hat also Pla ̈tze Nr. 0, 1, 2, . . . , 16.
Versehen Sie Ihre Garage bitte nun mit folgenden Methoden:
• int einparken(Auto a) stellt das u ̈bergebene Auto auf dem ersten freien Platz (beginnend von vorne, also Platz 0) ab und liefert die Platznummer als Ergebnis. Falls kein Platz frei ist, ist das Ergebnis -1.
• Nun mo ̈chte man auch noch nach einem bestimmten Auto suchen. Die u ̈berladene MethodesucheAuto() hilft dabei:
- – int sucheAuto(String Kennzeichen) liefert den Platz des Autos mit dem u ̈bergebenen Kennzei- chen.
- – int sucheAuto(Auto a) liefert die Platznummer eines Autos “gleich dem u ̈bergebenen”.
- – int sucheAuto(Person besitzer) liefert die Platznummer des Autos, das besitzer
gehört
Falls die Suche nicht erfolgreich war, wird stets -1 zurückgegeben.
• Auto ausparken(int platznr) entfernt das Auto vom Stellplatz platznr, markiert den Platz als unbelegt und gibt das Auto-Objekt zuru ̈ck.
• int zaehleFreiePlaetze() gibt die Anzahl der unbelegten (null) Stellpla ̈tze zuru ̈ck
Wie Sie bemerkt haben, hat Garage keine toString-Methode. Manchmal mo ̈chte man aber gerne mal in die Garage hineinschauen, um (wa ̈hrend des Programmablaufs) ihren aktuellen Zustand zu sehen und das Programmverhalten nachvollziehen zu ko ̈nnen.
Die gute Nachricht: Auch JUnit-Tests lassen sich in Eclipse debuggen. Von der JUnit-Testausfu ̈hrung wissen Sie, in welcher Testmethode ein Fehler entdeckt wurde.
Sie ko ̈nnen dort direkt einen Breakpoint setzen, den Test erneut mit dem Debugger ausfu ̈hren und dann z.B. dem Garage-Objekt gleich in seine Innereien schauen. Bitte u ̈ben Sie so etwas unabha ̈ngig von einer konkreten Aufgabe laufend, eine ordentliche Beherrschung des Debuggers spart Ihnen u ̈ber das ganze Studium gerechnet sehr viel Zeit.
gegeben ist diese Klasse
Garage_einparken_ausparken
Java:
package de.hsrm.mi.autogarage.tests;
import static org.junit.Assert.*;
import org.junit.Test;
import de.hsrm.mi.autogarage.auto.Auto;
import de.hsrm.mi.autogarage.garage.Garage;
public class A2_a_Garage_einparken_ausparken {
@Test
public void testGarage() {
Garage g = new Garage(17);
}
@Test
public void testEinparken() {
Garage g = new Garage(10);
for (int i=0; i<10; i++) {
int platz = g.einparken(new Auto("KA-VI 10"+i));
assertEquals(i, platz);
}
}
@Test
public void testEinparkenGarageVoll() {
final int PLAETZE = 10;
Garage g = new Garage(PLAETZE);
for (int i=0; i<PLAETZE; i++) {
int platz = g.einparken(new Auto("KA-VI 10"+i));
assertEquals(i, platz);
}
int keinPlatz = g.einparken(new Auto("HH-AB 6482"));
assertEquals(-1, keinPlatz);
}
@Test
public void testAusparken() {
Garage g = new Garage(10);
int platz0 = g.einparken(new Auto("PLA-TZ 0"));
Auto auto1 = new Auto("PLA-TZ 1");
int platz1 = g.einparken(auto1);
int platz2 = g.einparken(new Auto("PLA-TZ 2"));
Auto ausgeparkt = g.ausparken(1);
assertSame(auto1, ausgeparkt);
int neu1 = g.einparken(new Auto("NEU-AUF 1"));
assertEquals(1, neu1);
int neu3 = g.einparken(new Auto("NEU-AUF 3"));
assertEquals(3, neu3);
}
}
Mein Code ist noch am Anfang, wenn man das so sagen kann.. denn ich habe nämlich keine Ahnung, wie ich weiter machen soll.
Soll man die Garagenstellplätze als Array übergeben, oder wie soll das sein?
hier ist mein ‚Code‘..
Java:
package de.hsrm.mi.autogarage.garage;
import de.hsrm.mi.autogarage.auto.Auto;
import de.hsrm.mi.autogarage.person.Person;
public class Garage {
private int platz;
private int[] plaetze;
private int i;
public Garage(int platz) {
this.platz = platz;
plaetze = new int [17];
if(command.length > 17) {
System.out.println("kein platz");
}
}
public int einparken(Auto a) {
return plaetze[i];
}
public int sucheAuto(String kennzeichen) {
return plaetze[i].getKennzeichen();
}
public int sucheAuto(Auto a) {
return Auto;
}
public int sucheAuto(Person besitzer) {
return plaetze[i].besitzer;
}
}
vielleicht hat der ein oder andere von euch ein paar Tipps für mich, so, dass ich die Aufgabe evtl besser verstehe.
Mir ist bewusst, dass mir hier keiner die Lösung codiert und das ist auch gut so, hoffe dennoch auf Hilfe.
Die Aufgabe 1 und damit verbundenen Klassen wie bspw Person oder Auto, habe ich schon geschrieben.
Ich danke euch schonmal herzlich!!
LG