enum-Aufgabe

pg1337

Bekanntes Mitglied
Sers liebe community,

habe da mal ne frage bezüglich der enums in Java.

Angenommen man habe folgende Deklaration:

Java:
enum Getriebe {AUTOMATIK, MANUELL}

Es gibt an, dass ein Auto entweder ein automatik-Wagen sein kann oder eben manuell, sprich mit einer Gangschaltung.

Nun möchte ich in die Kategorie MANUELL & AUTOMATIK noch implementieren, dass man auswählen kann, ob man fünf oder sechs Gänge in seinem Auto haben möchte.

Allgemein sieht das bis jetzt so aus:

Java:
public abstract class Auto {
	

	int anzahlTueren;
	int motorleistung, anzahlZylinder, hubraum;
	String kraftstoff;
	enum Farbe {SCHWARZ, ROT, BLAU};
	enum Getriebe {AUTOMATIK, MANUELL}
	enum Antrieb {ALLRAD, VORNE, HINTEN};
	

	public Auto(int anzahlTueren, int motorleistung, int anzahlZylinder, int hubraum, String kraftstoff){
		this.anzahlTueren= anzahlTueren;
		this.motorleistung= motorleistung;
		this.anzahlZylinder= anzahlZylinder;
		this.hubraum= hubraum;
		this.kraftstoff= kraftstoff;	
	}

, wobei ich vergessen habe, dass man eben in meinem Programm, sofern man die Auswahl manuell bzw automatik trifft noch auswählen können soll, wieviele Gänge es geben soll.


Bedanke mich für jede Hilfe :)

pg1337
 
Zuletzt bearbeitet:

KrokoDiehl

Top Contributor
Naja, eine sehr direkte Herangehensweise ist es, den Enum um Werte wie
Code:
MANUELL_5
und
Code:
MANUELL_6
zu erweitern.

Eine andere ist es, den Enum um Attribut, Getter und Setter zu erweitern. Dann kann man halt auch fürs Automatik die Gänge setzen ... oder man wirft Ausnahmen.
Etwa so:

Java:
enum Getriebe {
    Automatik,
    Manuell;

    private int gaenge = 0;

    public void setGaenge(int gaenge) {
        this.gaenge = gaenge;

        // oder auch:
        //if (this == Automatik) {
        //    throw new IllegalArgumentException("Geht nicht bei Automatik");
        //}
    }

    public int getGaenge() {
        return gaenge;
    }
}
 

pg1337

Bekanntes Mitglied
Danke für deine Antwort.

Ich hatte das jetzt so gedacht bzw. grade mal probiert:

Java:
enum Getriebe {AUTOMATIK(5,6), MANUELL(5,6);
					private int fuenfGang;
					private int sechsGang;
					
					Getriebe(int fuenfGang, int sechsGang){
					this.fuenfGang= fuenfGang;
					this.sechsGang= sechsGang;
					}

					public int getFuenfGang() {
						return fuenfGang;
					}

					public void setFuenfGang(int fuenfGang) {
						this.fuenfGang = fuenfGang;
					}

					public int getSechsGang() {
						return sechsGang;
					}

					public void setSechsGang(int sechsGang) {
						this.sechsGang = sechsGang;
					}
					
					
					}

Was hälst davon?
Bei nem Automatik soll man ja auch auswählen können, wieviele Gänge er hat :)

Greetz
 
B

bygones

Gast
mhm - abgesehen davon, seit wann hat der Automatik einen fuenften bzw sechsten Gang, seh ich nicht so den sinn in den ints ?!
was soll bei setSechsGang(int s) passieren ? kann ich setSechsGang(10) aufrufen ?

Ich denke du brauchst hier mehrere Strukturen. Es muss noch eine weitere Struktur "Gaenge" oder so geben. Bei Manuell gibt es dann "1 - 6, R", bei Automatik "Null, D, R" (oder was es noch immer gibt.

Ein Getriebe hat dann eine Reihe von "Gaengen" und du kannst den Gang dann aendern...
 

pg1337

Bekanntes Mitglied
puh, stimmt bin kein Automatikfahrer vondaher hab ich in der Richtung keine Ahnung:D

In der main Methode würde ich das jetzt so aufrufen, wenns klappt.
Bis jetzt lasse ich ja nur die Möglichkeit, entweder 5 oder 6 Gaenge auszuwählen, da ich alles nur grade über den Konstruktor festlege, und keine Eingabe einlese o.ä.
Von daher soll das erstmal ein Test sein, ob das funktioniert wie gedacht:

Java:
Auto.Getriebe.MANUELL.getFuenfGang()

Greetz
 

pg1337

Bekanntes Mitglied
Das hier ist meine Ausgabe:

Standard Sportwagen:
Antrieb: HINTEN
Getriebe: MANUELL
Anzahl der Türen: 2
Kraftstoff: benzin

Extras:
Motorleistung: 100 PS
Farbe: SCHWARZ
Anzahl der Zylinder: 6
Größe des Hubraums: 40
Anzahl der Gänge: 5


Standard Kombie:
Anzahl der Türen: 4
Antrieb: VORNE
Getriebe: AUTOMATIK

Extras:
Kraftstoff: Diesel
Motorleistung: 200 PS
Farbe: BLAU
Anzahl von Zylindern: 6
Größe des Hubraums: 50
Anzahl der Gänge: 6

Also funktioniert! Vielen Dank.

ich hatte nur gehört, dass enums in Java sehr mächtig sind und eine eigene Klasse darstellen mit Methoden / Konstruktoren etc.

Danke an euch beide!:))
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
P Enum oder normale Klasse? Java Basics - Anfänger-Themen 10
volcanos enum und switch (neu): falschen Wert mit IllegalArgumentException oder mit EnumConstantNotPresentException abfangen ? Java Basics - Anfänger-Themen 51
X Enum Abfrage ohne if, for, while oder switch Java Basics - Anfänger-Themen 21
U Warum kann ich die Methode in der ENUM Klasse nicht aufrufen? Und warum geht die Switch nicht? Java Basics - Anfänger-Themen 8
D Frage bzgl. Enum-Handhabung Java Basics - Anfänger-Themen 16
S Java Enum Java Basics - Anfänger-Themen 2
I Validation, ob String ein Wert aus einem Enum enthält Java Basics - Anfänger-Themen 3
V Enum Java Basics - Anfänger-Themen 1
C Farben als Enum Java Basics - Anfänger-Themen 3
N enum Attribut von Objekten einer Hashmap ausgeben Java Basics - Anfänger-Themen 6
I JAXB und Enum Java Basics - Anfänger-Themen 7
M Enum-Variable HashMap zuweisen Java Basics - Anfänger-Themen 5
B Enum innerhalb einer Klasse / anderes Konzept Java Basics - Anfänger-Themen 8
N Enum Typen, was passiert intern mit ihnen? Java Basics - Anfänger-Themen 2
A enum Java Basics - Anfänger-Themen 6
O Enum Array Rekursiv abarbeiten Java Basics - Anfänger-Themen 44
B ENUM to List<String> konvertieren Java Basics - Anfänger-Themen 2
N Java Enum converter Methode Java Basics - Anfänger-Themen 5
F Enum von Ländern Java Basics - Anfänger-Themen 8
J Klassen Enum als Informationsträger Java Basics - Anfänger-Themen 10
T Datentypen enum static Chaos (blutiger anfänger) Java Basics - Anfänger-Themen 5
R Enum ist das gleiche wie? Java Basics - Anfänger-Themen 15
P Klassen Richtige Anwendung einer Enum-Klasse Java Basics - Anfänger-Themen 11
E Datentypen Problem beim Speichern von enum. Java Basics - Anfänger-Themen 10
J Compiler-Fehler class interface or enum expected Java Basics - Anfänger-Themen 1
E Objektvergleich Enum Java Basics - Anfänger-Themen 7
kilopack15 Euromünzen in enum als Liste ausgeben Java Basics - Anfänger-Themen 11
N Enum als generischer Typ Java Basics - Anfänger-Themen 4
H Datentypen Fehler bei Verwendung von enum Java Basics - Anfänger-Themen 9
lBlKha0s Fehlermeldung : class interface or enum expected Java Basics - Anfänger-Themen 9
T error: class, interface, or enum expected Java Basics - Anfänger-Themen 5
S Menüauswahl per Enum Java Basics - Anfänger-Themen 12
F Enum via String definieren Java Basics - Anfänger-Themen 2
L Compiler-Fehler error: class, interface or enum expected Java Basics - Anfänger-Themen 2
M java.lang.Enum.valueOf(Unknown Source) Java Basics - Anfänger-Themen 2
M Enum-Variabel-Abfrage funktioniert nicht? Java Basics - Anfänger-Themen 2
P Fallunterscheidung mit Überprüfung (enum) Java Basics - Anfänger-Themen 11
H enum Type Java Basics - Anfänger-Themen 6
F Operatoren Enum aus Textdabei laden Java Basics - Anfänger-Themen 3
P enum: cannot be resolved to a type Java Basics - Anfänger-Themen 2
kaoZ Variablen Konstantensammlung vs. Enum Java Basics - Anfänger-Themen 9
H Enum außerhalb einer Klasse? Java Basics - Anfänger-Themen 2
K OOP Aufzählungstypen! enum Currency!!! Java Basics - Anfänger-Themen 5
F ENUM als Variable Java Basics - Anfänger-Themen 4
M Enum: Zugriff auf Konstanten Java Basics - Anfänger-Themen 7
W Enum Konstruktor Type Java Basics - Anfänger-Themen 2
A Erste Schritte ENUM - Werte zurückgeben Java Basics - Anfänger-Themen 5
D Enum als Parameter Java Basics - Anfänger-Themen 6
B Variablen Instanz von Enum zur Laufzeit erstellen und zuweisen Java Basics - Anfänger-Themen 2
B Datentypen Enum vererben/gruppieren? Java Basics - Anfänger-Themen 6
F Datentypen enum Java Basics - Anfänger-Themen 5
J Enum zählen Java Basics - Anfänger-Themen 8
D Einlesen eines Enum-Wertes per console Java Basics - Anfänger-Themen 3
K String mit ENUM vergleichen? Java Basics - Anfänger-Themen 6
N enum vergleiche Klammern? Java Basics - Anfänger-Themen 5
J public enum? in Java Java Basics - Anfänger-Themen 9
D Erste Schritte Enum - das unbekannte Wesen Java Basics - Anfänger-Themen 3
Y ENUM auslesen (Name des ENUM als Variable) Java Basics - Anfänger-Themen 4
P Compiler-Fehler "class, interface, or enum expected" Java Basics - Anfänger-Themen 5
K class, interface or enum expected Java Basics - Anfänger-Themen 14
N was sagt enum aus? Java Basics - Anfänger-Themen 3
S Methoden Enum Parameter in Methode Java Basics - Anfänger-Themen 7
G Datentypen enum Frage Java Basics - Anfänger-Themen 3
R Probleme mit Enum Java Basics - Anfänger-Themen 10
B Enum: Instanzen Java Basics - Anfänger-Themen 10
B Generic? Enum - So lösbar? Java Basics - Anfänger-Themen 8
T class, interface, or enum expected Java Basics - Anfänger-Themen 2
M Vererbung Enum Vererbung/Polymorphie Java Basics - Anfänger-Themen 2
P Enum Attribut in Konstruktoren Java Basics - Anfänger-Themen 10
4 Enum Problem Java Basics - Anfänger-Themen 2
turmaline Bindestrich in enum? Java Basics - Anfänger-Themen 5
T Enum - Key als Value ermitteln Java Basics - Anfänger-Themen 7
X enum Fehlermeldung "The public type Day must be defined in its own file" Java Basics - Anfänger-Themen 8
T ist enum.ordinal keine Konstante? Java Basics - Anfänger-Themen 7
R State machine mit enum Java Basics - Anfänger-Themen 9
L enum aus Integer umwandeln Java Basics - Anfänger-Themen 3
C Klasseninstanzierung mit enum-Parameter erzwingen Java Basics - Anfänger-Themen 2
I Enum in String Java Basics - Anfänger-Themen 4
N enum richtig verwenden Java Basics - Anfänger-Themen 5
M for(Enum..., ButtonGroup.getElements()... Java Basics - Anfänger-Themen 3
StrikeTom Fragen zu enum Java Basics - Anfänger-Themen 4
A Was ist performanter für Konstanten, enum oder static variablen Java Basics - Anfänger-Themen 5
L String zu Enum parsen Java Basics - Anfänger-Themen 8
J Datentypen Array in enum, ?? Wozu ?? Java Basics - Anfänger-Themen 3
S OOP Durch ein Enum iterieren... Java Basics - Anfänger-Themen 47
K Datentypen enum und liste Java Basics - Anfänger-Themen 7
S String - Enum Java Basics - Anfänger-Themen 3
H Eine enum switchen? Java Basics - Anfänger-Themen 7
G enum für Typsicherheit Java Basics - Anfänger-Themen 9
J class, interface, or enum expected - finde Fehler nicht. Java Basics - Anfänger-Themen 4
J OOP enum Java Basics - Anfänger-Themen 2
O Problem (Enum) Java Basics - Anfänger-Themen 14
S Enum als Index Java Basics - Anfänger-Themen 5
H Enum --> int ?? Java Basics - Anfänger-Themen 3
tanja enum in java Java Basics - Anfänger-Themen 3
D class, interface or enum expected Java Basics - Anfänger-Themen 2
A OOP Übergabe eines Wertes an den enum Konstruktor Java Basics - Anfänger-Themen 12
T Simple Enum Fragen Java Basics - Anfänger-Themen 6
J class, interface, or enum expected Java Basics - Anfänger-Themen 4
R Enum und dann setter Setzen? Java Basics - Anfänger-Themen 44

Ähnliche Java Themen

Neue Themen


Oben