Follow along with the video below to see how to install our site as a web app on your home screen.
Anmerkung: This feature may not be available in some browsers.
Generell ist die Kursbetreuung der Ansicht die Klausur 2007 und 2008 wären zu leicht und will entsprechend die Schwierigkeitsgrad anziehen.
Bei Rekursion ist mit mathematischen Formeln und deren Umsetzung zu rechnen wie Aufgabe 2 der Übungsaufgaben.
Man sollte also immer das Gesamtbild sehen und das Ziel ist es ein solides Grundwissen aufzubauen und nicht Klausuren zu bestehen.
Alle auf den Studientagen entwickelten Tafelbilder sowie Programmierlösung werden uns zur Verfügung gestellt.
hallo zusammen,
kann mir einer sagen wo das denn zur Vefügung gestellt wird?😕😱
/**
* Beschreiben Sie hier die Klasse Zug.
*
* @author (Ihr Name)
* @version (eine Versionsnummer oder ein Datum)
*/
public class Zug
{
// Instanzvariablen - ersetzen Sie das folgende Beispiel mit Ihren Variablen
//lok ist anfang
//ende ist ende des Zugs
//ein Zug ist wie eine Liste mit einem Anfang und einem Ende
//der Anfang ist hierbei die Zuglok, das Ende der letzt eingefügte Waggon
private Waggon lok;
private Waggon ende;
private int WaggonAnzahl = 0;
/**
* Konstruktor für Objekte der Klasse Zug
*/
public Zug(int lokSpeed)
{
// Instanzvariable initialisieren
lok = new Waggon(lokSpeed);
ende = lok;
WaggonAnzahl = 1;
}
public void fuegePersonenWaggonHinzu(int maxSpeed, int stehAnzahl, int sitzAnzahl)
{
if (WaggonAnzahl == 1 ) {
PersonenWaggon neu = new PersonenWaggon(maxSpeed, stehAnzahl, sitzAnzahl);
lok.setNext(neu);
neu.setPrev(lok);
ende = neu;
WaggonAnzahl++;
}
else {
PersonenWaggon neu = new PersonenWaggon(maxSpeed, stehAnzahl, sitzAnzahl);
neu.setPrev(ende);
ende.setNext(neu);
ende = neu;
WaggonAnzahl++;
}
}
public void fuegeGueterWaggonHinzu(int maxSpeed, int maxLadegew, int maxVol)
{
if (WaggonAnzahl == 1 ) {
GueterWaggon neu = new GueterWaggon(maxSpeed, maxLadegew, maxVol);
lok.setNext(neu);
neu.setPrev(lok);
ende = neu;
WaggonAnzahl++;
}
else {
GueterWaggon neu = new GueterWaggon(maxSpeed, maxLadegew, maxVol);
neu.setPrev(ende);
ende.setNext(neu);
ende = neu;
WaggonAnzahl++;
}
}
public PersonenWaggon suchePersWaggonsNachAttributen(int maxSpeed, int stehAnzahl, int sitzAnzahl) {
PersonenWaggon ergPers = null;
Waggon n = null;
if (WaggonAnzahl == 0) {
return ergPers;
}
n = lok.getNext();
while (n != null) {
if (n.getObjName() == "PersonenWaggon") {
PersonenWaggon c = (PersonenWaggon) n;
if (c.getSitzplaetze() == sitzAnzahl && c.getStehplaetze() == stehAnzahl && c.getMaxSpeed() == maxSpeed) {
return c;
}
}
n = n.getNext();
}
return ergPers;
}
public PersonenWaggon suchePersWaggonsNachNummer(int nummer) {
PersonenWaggon ergPers = null;
Waggon n = null;
if (WaggonAnzahl == 0) {
return ergPers;
}
n = lok.getNext();
while (n != null) {
if (n.getObjName() == "PersonenWaggon") {
PersonenWaggon c = (PersonenWaggon) n;
if (c.getNummerPersWaggon() == nummer) {
return c;
}
}
n = n.getNext();
}
return ergPers;
}
public int berechneMaxZugSpeed(){
int minSpeed = 0;
int aktSpeed = 0;
Waggon n;
if (WaggonAnzahl == 0) {
return 0;
}
minSpeed = lok.getMaxSpeed();
n = lok.getNext();
while ( n != null) {
aktSpeed = n.getMaxSpeed();
if (minSpeed > aktSpeed) {
minSpeed = aktSpeed;
}
n = n.getNext();
}
return minSpeed;
}
public boolean pruefeErreichbarkeitPers(int nummer1, int nummer2) {
PersonenWaggon w1 = (PersonenWaggon) suchePersWaggonsNachNummer(nummer1);
PersonenWaggon w2 = (PersonenWaggon) suchePersWaggonsNachNummer(nummer2);
PersonenWaggon sWaggon = w1;
PersonenWaggon sWaggon1 = w1;
//falls die beiden nummern nicht existieren -> false
if (w1 == null || w2 == null) {
return false;
}
//schaue ob es vorwärts die entsprechende Waggon Nummer gibt
if (sWaggon.getNext() != null && sWaggon.getNext().getObjName() == "PersonenWaggon") {
sWaggon = (PersonenWaggon) sWaggon.getNext();
while ( sWaggon != null) {
if ( sWaggon.getNummerPersWaggon() == nummer2) {
return true;
}
sWaggon = (PersonenWaggon) sWaggon.getNext();
}
}
//schaue ob es rückwärts die entsprechende Waggon Nummer gibt
if (sWaggon1.getPrev() != null && sWaggon1.getPrev().getObjName() == "PersonenWaggon") {
sWaggon1 = (PersonenWaggon) sWaggon1.getPrev();
while ( sWaggon1 != null) {
if ( sWaggon1.getNummerPersWaggon() == nummer2) {
return true;
}
sWaggon1 = (PersonenWaggon) sWaggon1.getPrev();
}
}
//wenn nichts gefunden false
return false;
}
}
/**
* Klasse Waggon - beschreiben Sie hier die Klasse
*
* @author (Ihr Name)
* @version (eine Version-Nummer oder ein Datum)
*/
public class Waggon
{
// Instanzvariablen - ersetzen Sie das folgende Beispiel mit Ihren Variablen
private int hoechstGeschwindigkeit;
private Waggon next;
private Waggon prev;
public final String objName = "Waggon";
//Konstruktor
public Waggon(int maxGeschw){
hoechstGeschwindigkeit = maxGeschw;
next = null;
prev = null;
}
//gebe next zurueck
public Waggon getNext() {
return next;
}
public Waggon getPrev() {
return prev;
}
//gebe Hoechstgeschwindigkeit zurueck
public int getMaxSpeed() {
return hoechstGeschwindigkeit;
}
//setz Methode fuer next
public void setNext(Waggon n) {
next = n;
}
//setz Methode fuer prev
public void setPrev(Waggon p) {
prev = p;
}
public String getObjName() {
return objName;
}
}
/**
* Beschreiben Sie hier die Klasse PersonenWaggon.
*
* @author (Ihr Name)
* @version (eine Versionsnummer oder ein Datum)
*/
public class PersonenWaggon extends Waggon
{
// Instanzvariablen - ersetzen Sie das folgende Beispiel mit Ihren Variablen
private int stehplaetze;
private int sitzplaetze;
private final String objName = "PersonenWaggon";
private int nummerPersWaggon;
public static int anzahlPersWaggon;
/**
* Konstruktor für Objekte der Klasse PersonenWaggon
*/
public PersonenWaggon(int maxSpeed, int stehAnzahl,int sitzAnzahl)
{
// Instanzvariable initialisieren
super(maxSpeed);
anzahlPersWaggon++;
nummerPersWaggon = anzahlPersWaggon;
stehplaetze = stehAnzahl;
sitzplaetze = sitzAnzahl;
}
public int getStehplaetze(){
return stehplaetze;
}
public int getSitzplaetze(){
return sitzplaetze;
}
public String getObjName() {
return objName;
}
public int getNummerPersWaggon(){
return nummerPersWaggon;
}
}
/**
* Beschreiben Sie hier die Klasse GueterWaggon.
*
* @author (Ihr Name)
* @version (eine Versionsnummer oder ein Datum)
*/
public class GueterWaggon extends Waggon
{
private int maxLadegewicht;
private int maxVolumen;
private final String objName = "GueterWaggon";
private int nummerGueterWaggon;
public static int anzahlGueterWaggon;
/**
* Konstruktor für Objekte der Klasse GueterWaggon
*/
public GueterWaggon(int maxSpeed, int maxGew, int maxVol)
{
super(maxSpeed);
anzahlGueterWaggon++;
nummerGueterWaggon = anzahlGueterWaggon;
maxLadegewicht = maxGew;
maxVolumen = maxVol;
}
public String getObjName() {
return objName;
}
}
Zudem soll überprüft werden können, ob man von
einem bestimmten Personenwaggon zu einem gegebenen anderen gelangen
kann.