Java Klassen und Instanzmethoden

Gansa

Aktives Mitglied
Hallo, ich habe hier eine einfache Klasse. Ich möchte in meiner Klasse Auto eine Methode schreiben (isFasterThan), das ein Auto übernimmt und die Geschwindigkeit des übergebenen Autos mit dem aktuellen vergleichen. Wenn das aufgerufene Auto Objekt einen größeren Wert hat, soll meine Methode true zurückgeben. Jedoch funktionier meine Methode nicht, es gibt mir ständig false zurück. Kann mir da jemand weiterhelfen? Ich habe die Klasse A und die Klasse Auto teilweise reimkopiert (das nötigste). Danke falls mir jemand weiterhelfen kann !



Java:
public class A {


    public static void main(String[] args) {

        Auto a = new Auto();
        Auto b = new Auto();

        
        b.repaint("Schwarz");
        b.schneller(350);

    

        System.out.println(a.toString());
        System.out.println(b.toString());
      
        System.out.println( a.isFasterThan(b));





    }
}

Java:
//Klasse Auto
        public boolean isFasteThan(Auto auto) {
        if (auto.maxSpeedKmH > this.maxSpeedKmH) {
            return true;
        } else {
            return false;
        }
    }
}
 

LimDul

Top Contributor
Ich würde mal vermuten, dass die Methode "schneller" nicht das macht, was du erwartest.

Bzw. wo und wie wird das Feld maxSpeedKmH definiert und gesetzt?
 

Gansa

Aktives Mitglied
Ich würde mal vermuten, dass die Methode "schneller" nicht das macht, was du erwartest.

Bzw. wo und wie wird das Feld maxSpeedKmH definiert und gesetzt?In
Doch die habe ich schon ausgetestet es funktioniert. Ich glaube das Problem liegt daran das ich ein Objekt mit einer Instanzvariable vergleiche, aber ich wüsste nicht wie ich es anders machen soll. Ich erhöhe mit der Methode schneller die Geschwindigkeit von b und möchte es dann mit a vergleichen,
 
K

kneitzel

Gast
Also der Vergleich sieht richtig aus - nur eben kannst Du es deutlich kürzer schreiben: if (bedingung) return true; else return false; ist das Gleiche wie einfach ein return bedingung:

Wir sehen zu wenig Code. Wo setzt du die Höchstgeschwindigkeit? Wenn du weder in a noch in b die Höchstgeschwindigkeit setzt, sind diese Gleich (und damit ist die von a nicht größer als die von b)

Und dieses schneller rufst Du nur bei b auf ...
 

Gansa

Aktives Mitglied
Also der Vergleich sieht richtig aus - nur eben kannst Du es deutlich kürzer schreiben: if (bedingung) return true; else return false; ist das Gleiche wie einfach ein return bedingung:

Wir sehen zu wenig Code. Wo setzt du die Höchstgeschwindigkeit? Wenn du weder in a noch in b die Höchstgeschwindigkeit setzt, sind diese Gleich (und damit ist die von a nicht größer als die von b)

Und dieses schneller rufst Du nur bei b auf ...
 
Zuletzt bearbeitet:

LimDul

Top Contributor
Java:
package de.limdul.javaforum;

public class Auto {

    private String color;
    private int maxSpeedKmH;
    private String hersteller;

    public Auto() {

        this.color = "Silber";
        this.maxSpeedKmH = 150;
        this.hersteller = "Volkswagen";
    }

    @Override
    public String toString() {
        return "Car {color = " + this.color + ", maxSpeedKmh= " + this.maxSpeedKmH + ", manufacturer= "
                + this.hersteller + " }";
    }

    public void repaint(String color) {
        this.color = color;
    }

    public void schneller(int maxSpeedKmH) {
        this.maxSpeedKmH = maxSpeedKmH;

    }

    public boolean isFasterThan(Auto car) {

        if (car.maxSpeedKmH > this.maxSpeedKmH) {
            return true;
        } else {
            return false;
        }
    }

    public static void main(String[] args) {
        Auto a = new Auto();
        Auto b = new Auto();

        b.repaint("Schwarz");
        b.schneller(350);

        System.out.println(a.toString());
        System.out.println(b.toString());

        System.out.println(a.isFasterThan(b));
    }
}

Ausgabe:
Car {color = Silber, maxSpeedKmh= 150, manufacturer= Volkswagen }
Car {color = Schwarz, maxSpeedKmh= 350, manufacturer= Volkswagen }
true
 

Gansa

Aktives Mitglied
Und wie sieht die Klasse Car aus?
Java:
package de.limdul.javaforum;

public class Auto {

    private String color;
    private int maxSpeedKmH;
    private String hersteller;

    public Auto() {

        this.color = "Silber";
        this.maxSpeedKmH = 150;
        this.hersteller = "Volkswagen";
    }

    @Override
    public String toString() {
        return "Car {color = " + this.color + ", maxSpeedKmh= " + this.maxSpeedKmH + ", manufacturer= "
                + this.hersteller + " }";
    }

    public void repaint(String color) {
        this.color = color;
    }

    public void schneller(int maxSpeedKmH) {
        this.maxSpeedKmH = maxSpeedKmH;

    }

    public boolean isFasterThan(Auto car) {

        if (car.maxSpeedKmH > this.maxSpeedKmH) {
            return true;
        } else {
            return false;
        }
    }

    public static void main(String[] args) {
        Auto a = new Auto();
        Auto b = new Auto();

        b.repaint("Schwarz");
        b.schneller(350);

        System.out.println(a.toString());
        System.out.println(b.toString());

        System.out.println(a.isFasterThan(b));
    }
}

Ausgabe:
Das hatte ich doch Genauso oder? Bei mir kam jedesmal false ..
 

LimDul

Top Contributor
Das hatte ich doch Genauso oder? Bei mir kam jedesmal false ..
Du hattest mal Car & mal Auto da stehen. Das spricht dafür das dein Code hier im Forum und der in deiner IDE nicht identisch waren.
Hast du vielleicht noch mehr Klassen die zufällig auch Car oder Auto heißen da rumliegen?

An sich funktioniert jetzt - das ist jetzt wirklich nur Copy & Paste deines Codes gewesen. Was kam den bei dir als Ausgabe?
 

Gansa

Aktives Mitglied
Du hattest mal Car & mal Auto da stehen. Das spricht dafür das dein Code hier im Forum und der in deiner IDE nicht identisch waren.
Hast du vielleicht noch mehr Klassen die zufällig auch Car oder Auto heißen da rumliegen?

An sich funktioniert jetzt - das ist jetzt wirklich nur Copy & Paste deines Codes gewesen. Was kam den bei dir als Ausgabe?
Ja das kann sein, da ich mehrere Applikationen habe und rumteste, ist ein ziemlicher Spaghetti Code geworden.. Es wundert mich aber trotzdem da ich auf die Namen eigentlich geachtet hatte. Naja jetzt funktioniert es aufjedenfall. Danke nochmals!
 

fhoffmann

Top Contributor
Dass der Code
Java:
public boolean isFasteThan(Auto auto) {
    if (auto.maxSpeedKmH > this.maxSpeedKmH) {
        return true;
    } else {
        return false;
    }
}
kürzer geschrieben werden kann als
Java:
public boolean isFasteThan(Auto auto) {
    return auto.maxSpeedKmH > this.maxSpeedKmH;
}
wurde ja bereits (von Kneitzel) erwähnt.
Aber ist der logische Vergleich nicht umgekehrt:
Java:
public boolean isFasteThan(Auto auto) {
    return this.maxSpeedKmH > auto.maxSpeedKmH;
}

Und man könnte die Methode isFasteThan möglicherweise in isFasterThan umbenennen.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
TimoN11 Java Klassen Global einbinden Java Basics - Anfänger-Themen 1
I Java Klassen "Graphics" und "MouseEvent" kombinieren Java Basics - Anfänger-Themen 7
C Java Klassen/Methoden/Übergabeparameter Java Basics - Anfänger-Themen 4
B UML Klassen Diagramm zu Java Code Programmieren und ausführen Java Basics - Anfänger-Themen 21
J Java Interface/abstrakte Klassen Java Basics - Anfänger-Themen 2
T Wie finde ich passende Java Klassen & Methoden? Java Basics - Anfänger-Themen 4
I Klassen Mehrere Java Klassen in einer .java Datei Java Basics - Anfänger-Themen 7
lonelywanderer Erste Schritte Wie wende ich "Klassen" in Java an? Java Basics - Anfänger-Themen 8
C Java Klassen Design? Java Basics - Anfänger-Themen 5
Thallius Klassen aus Classname programmatisch erzeugen. Wie geht das in java? Java Basics - Anfänger-Themen 5
B Klassen Java Taschenrechner mit Klassen und Methoden Java Basics - Anfänger-Themen 12
M xml log4j überschreiben für/in Java Klassen Java Basics - Anfänger-Themen 4
M OOP Java Klassen Microedition vs. Java 2 Standard Edition Java Basics - Anfänger-Themen 5
S Innere Klassen in Java Java Basics - Anfänger-Themen 4
M Wie bilde ich folgende Java Klassen in UML ab Java Basics - Anfänger-Themen 2
J Java-Klassen außerhalb von Eclipse debuggen Java Basics - Anfänger-Themen 7
D Java Klassen Java Basics - Anfänger-Themen 8
K OOP Java import zwei gleichnamiger Klassen Java Basics - Anfänger-Themen 5
M java erkennt import-klassen nicht?! Java Basics - Anfänger-Themen 39
J In JSP Java-Klassen einbinden Java Basics - Anfänger-Themen 3
N Aufrufen von .java Klassen in einem Projekt Java Basics - Anfänger-Themen 2
I [Java] Umgang mit abstrakten Klassen, Interfaceklassen (BSP) Java Basics - Anfänger-Themen 12
M Problem mit dem Klassen aus dem java.io Paket Java Basics - Anfänger-Themen 9
M Aus wieviel Klassen darf in Java eine (Programm)besitzen? Java Basics - Anfänger-Themen 21
G Anzahl der Klassen in Java Java Basics - Anfänger-Themen 7
A von Java-Beans Klassen aufrufen Java Basics - Anfänger-Themen 3
G Frage zum Abspeichern von Java-Klassen Java Basics - Anfänger-Themen 9
G Aufruf von JAVA-Klassen aus XML-Dialekt, Java-Skript o. JSP Java Basics - Anfänger-Themen 3
N Java Klassen kommentieren? Java Basics - Anfänger-Themen 13
G Java Programm das Klassen Implementiert Java Basics - Anfänger-Themen 5
F Java Klassen finden Java Basics - Anfänger-Themen 3
I Java Applet mit Klassen Java Basics - Anfänger-Themen 5
T Java Klassen benennung? Java Basics - Anfänger-Themen 4
L Java applet und andere Klassen unauffindbar? Java Basics - Anfänger-Themen 2
H .java Dateien in Eclipse einbinden und ausführen Java Basics - Anfänger-Themen 1
onlyxlia Schlüsselworte Was meint man mit "einen Typ" in Java erstellen? Java Basics - Anfänger-Themen 2
O Java Kara geschweifte Klammern Java Basics - Anfänger-Themen 2
richis-fragen Mausrad logitech kann links und rechts klick wie in java abragen. Java Basics - Anfänger-Themen 15
XWing Java Klssenproblem Java Basics - Anfänger-Themen 4
R Umgebungsvariable java -cp gibt immer Java-Hilfe... Java Basics - Anfänger-Themen 3
farbenlos Csv Datei in Java einlesen Java Basics - Anfänger-Themen 18
F TableModelListener: java.lang.ArrayIndexOutOfBoundsException: 132 Java Basics - Anfänger-Themen 3
G Java 8 - Support-Ende Java Basics - Anfänger-Themen 7
T Java Weihnachtsbaum + Rahmen Java Basics - Anfänger-Themen 1
N Will mit Java anfangen Java Basics - Anfänger-Themen 13
Ü Java Array - Buchstaben als Zahlen ausgeben Java Basics - Anfänger-Themen 22
M Java Iterator Verständnisfrage Java Basics - Anfänger-Themen 6
M Java Mail Programm Java Basics - Anfänger-Themen 4
Sniper1000 Java 391 für Windows Java Basics - Anfänger-Themen 37
J Java long- in int-Variable umwandeln Java Basics - Anfänger-Themen 6
JaZuDemNo Java im Studium Java Basics - Anfänger-Themen 7
E Java Programm zur anzeige, ob Winter- oder Sommerzeit herrscht Java Basics - Anfänger-Themen 62
I QR code in Java selber generieren Java Basics - Anfänger-Themen 5
V Java-Ausnahmebehandlung: Behandlung geprüfter Ausnahmen Java Basics - Anfänger-Themen 1
krgewb Java Streams Java Basics - Anfänger-Themen 10
A Überwältigt von der komplexen Java Welt Java Basics - Anfänger-Themen 29
O Mehrfachvererbung auf Spezifikations- und Implementierungsebene in Java. Interfaces Java Basics - Anfänger-Themen 19
John_Sace Homogene Realisierung von Generics in Java ? Java Basics - Anfänger-Themen 19
P Meldung aus Java-Klasse in Thread an aufrufende Klasse Java Basics - Anfänger-Themen 1
R mit Java API arbeiten Java Basics - Anfänger-Themen 9
P JDK installieren Probleme bei der Java-Installation Java Basics - Anfänger-Themen 8
S Java: Wie sortiere ich eine ArrayList benutzerdefinierter Objekte nach einem bestimmten Attribut? Java Basics - Anfänger-Themen 2
Timo12345 JNLP File mit Java öffnen Java Basics - Anfänger-Themen 2
S Video Editierung mit Java.._ Java Basics - Anfänger-Themen 2
F Einstelungen in Java - CursorBlinkRate Java Basics - Anfänger-Themen 10
A PHP $_POST["name"] in Java Java Basics - Anfänger-Themen 3
vivansai21 Is there a oneliner to create a SortedSet filled with one or multiple elements in Java? Java Basics - Anfänger-Themen 9
Athro-Hiro Weißes Bild in Java erstellen Java Basics - Anfänger-Themen 3
Arjunreddy Can someone please tell me how to use a debugger in BlueJ(a Java environment) Java Basics - Anfänger-Themen 1
M Java assoziationen (UML) Java Basics - Anfänger-Themen 8
H Excel-Tabellen mit Java erstellen Java Basics - Anfänger-Themen 4
Simon16 Java ArrayListe von einer Klasse sortieren Java Basics - Anfänger-Themen 2
P Wie kann ich in meinem Java Programm etwas dauerhaft speichern? Java Basics - Anfänger-Themen 5
H Nutzt Eclipse alle CPU-Threads beim Ausführen von Java-Programmen? Java Basics - Anfänger-Themen 4
xXGrowGuruXx Java einstieg, leichte sache 0 verstanden Java Basics - Anfänger-Themen 7
A java.sql.SQLException: Data type mismatch. Java Basics - Anfänger-Themen 1
H Java-Programm zur Ausgabe von Zuständen Java Basics - Anfänger-Themen 80
N Java Spiel Figur auf dem Hintergrundbild bewegen. Java Basics - Anfänger-Themen 11
G Kann Java-Programm nicht als jar aufrufen, auch als EXE nicht Java Basics - Anfänger-Themen 19
N Java Taschenrechner hat Jemand vlt einen Tipp dafür wie ich jetzt die buttons verbinden kann und das Ergebnis auf dem textfield anzeigen lassen kann Java Basics - Anfänger-Themen 13
A Lerngruppe Java Java Basics - Anfänger-Themen 2
G Help me in the Java Program Java Basics - Anfänger-Themen 2
L Java- Vererbung Java Basics - Anfänger-Themen 4
LimDul Suche Java Stream Tutorial Java Basics - Anfänger-Themen 2
_so_far_away_ Ich möchte Java lernen Java Basics - Anfänger-Themen 11
benny1993 Java Programm erstellen für ein Fußball-Turnier Java Basics - Anfänger-Themen 3
M Datentypen While-Schleife eine Java Methode erstellen Java Basics - Anfänger-Themen 3
V Bild per Java Script austauschen Java Basics - Anfänger-Themen 7
MoxMorris this Keyword in Java Java Basics - Anfänger-Themen 14
D Wie kann man in Java nach Arrays auf Duplikate prüfen Java Basics - Anfänger-Themen 12
wolei JAVA Zeitdifferenz feststellen. Java Basics - Anfänger-Themen 4
DiyarcanZeren Rekursion in Java Java Basics - Anfänger-Themen 5
wolei Java generic interface in a generic class Java Basics - Anfänger-Themen 6
monsterherz Ablauf der Erstellung eines Java Programmes Java Basics - Anfänger-Themen 17
monsterherz Circle.java:5: error: <identifier> expected Java Basics - Anfänger-Themen 2
julian-fr Wie kann ich am besten Java lernen? Java Basics - Anfänger-Themen 17
A Java-Properties und -RessourceBundles Java Basics - Anfänger-Themen 5
lrnz22 Java-Basics-Aufgabe Java Basics - Anfänger-Themen 8
R Java kann nicht installiert werden Java Basics - Anfänger-Themen 8
marcelnedza Finde meinen Fehler in einer Methode nicht, Java Karol Java Basics - Anfänger-Themen 15

Ähnliche Java Themen

Neue Themen


Oben