Skip to content
Snippets Groups Projects
Commit 3b3295b3 authored by T20102's avatar T20102
Browse files

Zug

parent 02912bc4
Branches master
No related tags found
No related merge requests found
......@@ -11,3 +11,4 @@
/pLF4_HexBinCalc/
/Testing/
/ue905_Sportgeräteverwaltung/
/ue_916_ZugDoppeltBesser/
package ue_916_ZugDoppeltBesser;
/****************************************************************************************************
*
* TODO (lösche TODO und füge hier deinen Kommentar ein!)
*
* @author Sven Marceta
* @version 1.0
*
****************************************************************************************************
*/
//---------------------------------------------------------------------------------------------------
public abstract class Waggon
{
// -------------------------------------------------------------------------------------
// Instanzvariablen/Klassenvariablen
private String art;
private int sitzplaetze;
private Waggon next;
private Waggon prev;
// -------------------------------------------------------------------------------------
// KONSTRUKTOR oder main
public Waggon (String art, int sitzplaetze)
{
this.art = art;
this.sitzplaetze = sitzplaetze;
}
// -------------------------------------------------------------------------------------
// INSTANZMETHODEN
// -------------------------------------------------------------------------------------
// GETTER / SETTER
/**
* @return the next
*/
public Waggon getNext()
{
return next;
}
/**
* @param aNext the next to set
*/
public void setNext(Waggon waggon)
{
this.next = waggon;
}
/**
* @return the prev
*/
public Waggon getPrev()
{
return prev;
}
/**
* @param aPrev the prev to set
*/
public void setPrev(Waggon aPrev)
{
prev = aPrev;
}
/**
* @return the art
*/
public String getArt()
{
return art;
}
/**
* @return the sitzplaetze
*/
public int getSitzplaetze()
{
return sitzplaetze;
}
/**
* @param aArt the art to set
*/
public void setArt(String aArt)
{
art = aArt;
}
/**
* @param aSitzplaetze the sitzplaetze to set
*/
public void setSitzplaetze(int aSitzplaetze)
{
sitzplaetze = aSitzplaetze;
}
// -------------------------------------------------------------------------------------
// TOSTRING
@Override
public String toString()
{
// TODO Füge hier das Programm der Methode ein
return String.format("Waggong: %s, Sitzplätze: %d", art, sitzplaetze);
}
// -------- Ende der Klasse
}
class Personenwaggon extends Waggon{
public Personenwaggon(int sitzplaetze)
{
super("Personenwaggon", sitzplaetze);
}
}
class Güterwaggon extends Waggon{
public Güterwaggon()
{
super("Güterwaggon", 0);
}
}
class Spießerwaggon extends Waggon{
public Spießerwaggon()
{
super("Spießerwaggon", 10);
}
}
\ No newline at end of file
package ue_916_ZugDoppeltBesser;
import java.awt.KeyEventPostProcessor;
/****************************************************************************************************
*
* TODO (lösche TODO und füge hier deinen Kommentar ein!)
*
* @author Prof. Gaisberger
* @version 1.0
*
****************************************************************************************************
*/
//---------------------------------------------------------------------------------------------------
public class Zug
{
// -------------------------------------------------------------------------------------
// Instanzvariablen/Klassenvariablen
private Waggon head;
private Waggon tail;
private int size;
// -------------------------------------------------------------------------------------
// INSTANZMETHODEN
public Waggon get(int position) {
if(position < 0) return null;
if (position >= size) return null;
Waggon current = head; //vorne
for (int i=0; i < position; i++)
current = current.getNext();
return current;
}
public void add(Waggon neuerWaggon, int position) {
Waggon davor = get(position-1);
Waggon danach = (davor == null) ? head : davor.getNext();
if (davor != null) davor.setNext(neuerWaggon);
if (danach != null) danach.setPrev(neuerWaggon);
neuerWaggon.setNext(danach);
neuerWaggon.setPrev(davor);
if(davor == null) head = neuerWaggon;
if(danach == null) tail = neuerWaggon;
size++;
}
public void remove(Waggon waggon) {
if(waggon == null) return;
Waggon davor = waggon.getPrev();
Waggon danach = waggon.getNext();
if (davor != null) davor.setNext(danach);
if (danach != null)danach.setPrev(davor);
waggon.setNext(null);
waggon.setPrev(null);
if(waggon == head) head = danach;
if(waggon == head) tail = davor;
size--;
}
// -------------------------------------------------------------------------------------
// GETTER / SETTER
// -------------------------------------------------------------------------------------
// TOSTRING
// -------- Ende der Klasse
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment