1. Liebe Forumsgemeinde,

    aufgrund der Bestimmungen, die sich aus der DSGVO ergeben, müssten umfangreiche Anpassungen am Forum vorgenommen werden, die sich für uns nicht wirtschaftlich abbilden lassen. Daher haben wir uns entschlossen, das Forum in seiner aktuellen Form zu archivieren und online bereit zu stellen, jedoch keine Neuanmeldungen oder neuen Kommentare mehr zuzulassen. So ist sichergestellt, dass das gesammelte Wissen nicht verloren geht, und wir die Seite dennoch DSGVO-konform zur Verfügung stellen können.
    Dies wird in den nächsten Tagen umgesetzt.

    Ich danke allen, die sich in den letzten Jahren für Hilfesuchende und auch für das Forum selbst engagiert haben. Ich bin weiterhin für euch erreichbar unter tti(bei)pcwelt.de.
    Dismiss Notice

Javahilfe

Discussion in 'Programmieren' started by sunshin, Mar 15, 2010.

Thread Status:
Not open for further replies.
  1. sunshin

    sunshin ROM

    Hallo!

    Ich arbeite seit tagen an dieser Aufgabe und irgendwie finde ich den fehler nicht.
    Vielleicht kann mir ja jemand weiterhelfen.
    Ich bin für jede Hilfe dankbar!

    Hier die Klassen:

    KLASSE CAR:
    Code:
    import java.lang.*;
    public class Car implements Cloneable{
    
    protected double weight;
    protected double length;
    protected Car next;
    
    private final int serial;
    private static int zaehler = 0;
    
    public Car(double w, double l){
    this.weight = w;
    this.length = l;
    if(this.getClass() != Lokomotive.class ){
    zaehler++;
    this.serial = zaehler;
    
    }
    else{ zaehler = 1;
    this.serial = zaehler;}
    }
    
    public Car clone() {
    try {
    return (Car) super.clone();
    } catch (CloneNotSupportedException cnse) {
    System.out.println("gurke");
    return null;
    }
    }
    
    
    public void connectTo(Car c){
    
    /*Car d = null;
    d = this.clone();*/
    c.setNext(this.clone());
    
    }
    
    public double getWeight(){
    return this.weight;
    }
    
    public double getLength(){
    return this.length;
    }
    
    public void setNext(Car n){
    this.next = n;}
    
    public Car getNext(){
    return next;}
    
    public void setWeight(double w){
    this.weight = w;
    }
    
    public void setLength(double l){
    this.length = l;
    }
    
    public int getSerial(){
    return this.serial;}
    
    public String toString(){
    String output = "";
    return output += "Seriennummer: " + serial +" Gewicht: " + weight + " Laenge: " + length;
    }
    
    }
    
    KLASSE TRAIN:
    Code:
    import java.lang.*;
    
    public class Train {
    
    
    public Lokomotive lo;
    
    public Train(Lokomotive c){
    this.lo = c;
    }
    
    
    
    public String toString(){
    String output = ""+lo+"\n";
    Car o = lo;
    
    int a = 0;
    while(o.getNext() != null){
    output += o.next + "\n";
    o = o.next;
    a++;
    }
    
    return output;
    }
    
    }
    
    Klasse MAin:
    Code:
    public class Main{
    public static void main(String[] args) {
    
    Train t2 = new Train(new Lokomotive(150,13,90));
    PassengerCar pc1 = new PassengerCar(22, 14, 22);
    DiningCar dc1 = new DiningCar(50, 5, 13, true);
    PassengerCar pc2 = new DiningCar(45, 8, 23, false);
    
    pc1.connectTo(t2.lo);
    dc1.connectTo(pc1);
    pc2.connectTo(dc1);
    
    System.out.println(t2);
    
    }
    }
    
    Klasse DiningCar:
    Code:
    import java.lang.*;
    public class DiningCar extends PassengerCar{
    
    private boolean isOpen;
    
    public DiningCar(double weight, double length, int anzahl, boolean i){
    super(weight, length, anzahl);
    this.isOpen = i;
    }
    
    public String toString(){
    return super.toString() + " geöffnet?: " + isOpen;
    }
    
    public boolean getIsOpen(){
    return this.isOpen;
    }
    
    public void setIsOpen(boolean a){
    this.isOpen = a;
    }
    }
    
    Klasse Lokomotive:
    Code:
    import java.lang.*;
    public class Lokomotive extends Car{
    
    private int power;
    
    public Lokomotive(double weight, double length, int p){
    super(weight, length);
    this.power = p;}
    
    public int getPower(){
    return power;}
    
    public void setPower(int a){
    this.power = a;}
    
    public String toString(){
    return super.toString()+ " Leistung: " + power;}
    
    }
    
    Klasse PassengerCar:
    Code:
    import java.lang.*;
    public class PassengerCar extends Car{
    
    protected int anzahl;
    
    public PassengerCar(double weight, double length, int anzahl){
    super(weight, length);
    this.anzahl = anzahl;}
    
    public String toString(){
    return super.toString()+ " Plaetze: " + anzahl;}
    
    public int getAnzahl(){
    return this.anzahl;}
    
    public void setAnzahl(int a){
    this.anzahl = a;}
    
    }
    
    Die Ausgabe will einfach nicht funktionieren

    er gibt mir nur die lok und den Wagon der an der Lok angehängt ist aus. Aber die restlichen die angehängt werden will er mir einfach nicht ausgeben.

    Hab schon alles mögliche versucht.
    Was ich da übersehen hab.

    Danke im voraus der sich meiner erbarmt!!!

    lg
     
  2. sunshin

    sunshin ROM

    hat sich erledigt hab den fehler bereits gefunden.:)
     
  3. daboom

    daboom Megabyte

    Weiß ja nicht, ob das Teil Deiner Lösung ist, aber was bezweckst Du mit dem geclone in der Car-Klasse?
     
Thread Status:
Not open for further replies.

Share This Page