Fallunterscheidung mit Überprüfung (enum)

Pumpenpat

Mitglied
Guten Abend,

bin etwas ratlos. Hab schon viel gegoogelt aber wurde eig. nur noch mehr verwirrter. Wir haben folgende Aufgaben:

1)Schreibe einen Aufzählungstypen Ampel, der die Farben einer Fahrzeug-Ampel definiert.
Das wäre dann ja:
Java:
class Ampel {
  public static void main(String[] args) {
  }
}
enum Farbe { rot, gelb, gruen }
Oder lieg ich da falsch? Oder reicht nur die 5.Zeile und die Datei ist auch lauffähig?

2.) Deklarieren sie im Anschluss im Hauptprogramm (in einer seperaten Datei) eine Variable mit diesem Aufzähungstyp und führen Sie mit einer Fallunterscheidung eine Überprüfung durch. Bei der Überprüfung soll mit der Druck-Methode eine Ausgabe erfolgen, welche Farbe die Ampel hat und ob man fahren darf. Setzen sie danach die Ampelfarbe auf die nach Verkehrsregeln folgende Farbe und wiederholen sie obige Überprüfung.

Muss ich für die Fallunterscheidung if-else benutzen? Jedenfalls kam in den Vorlesungen bisher noch nichts vor was mir sinnvoller erscheint. Und wenn ja wie benutz ich das, weil ich für if boolsche Werte brauche.
Und wie deklarier ich eine Variable mit dem Aufzählungstypen?
Hab da ja an folgendes gedacht:
Java:
Farbe A = Farbe.rot;
	Farbe B = Farbe.gelb;
	Farbe C = Farbe.gruen;

Danke im vorraus schonmal für Hilfe.
 

Gucky

Top Contributor
Probiere es doch einfach aus. Installier dir eclipse, NetBeans oder von mir aus auch BlueJ, tippe deinen Code ein und siehe, was passiert.
Oder ist es Teil der Aufgabenstellung, dass du das Ganze ohne Kompiler löst?

Sagt dir switch-case schon etwas sonst ist if, else if, else schon richtig.


Eigentlich hast du eine "Farbe" vergessen.
 

Pumpenpat

Mitglied
Nein also zurzeit arbeite ich mit Notepad++. Aber so wie ich gehört habe, dürfen wir auch andere Programme benutzen. Jedoch kenne ich mich nicht damit aus.
Ja bisher hab ich dann ja folgendes gedacht:

Java:
package ampel;

public class Ampel {

	public static void main(String[] args) {
		Farbe A = Farbe.rot;
		Farbe B = Farbe.gelb;
		Farbe C = Farbe.gruen;
		if (A == Farbe.rot);
		System.out.println ("Anzeige rot. Stopp. Anhalten.");
		else (A= !rot);
		
	  }
	}
	enum Farbe { rot, gelb, gruen }

Jedoch bin ich mir jetzt nicht über das weitere Vorgehen klar. Also wie ich die Ampel auf die nächste Farbe schalten lasse.

Mit vergessener Farbe meinst du rotgelb?
 

Gucky

Top Contributor
Solange das dir die Packagestrukturen erstellen und kompilieren kann, ist alles gut. :D

Sagen dir Schleifen schon etwas?

A = !rot. Was möchtest du damit bezwecken?


Du musst eine einzelne Variable haben, in der du die aktuelle Farbe speicherst und keine drei bzw. vier.



Genau die meine ich.
 

Pumpenpat

Mitglied
Okay.
Nein,schleifen sagen mir nichts.
! steht ja für nicht. Also wenn A nicht rot ist, dann soll es mir sagen welche Farbe stattdessen gerade leuchtet.
Das mit der einzelnen Variable verwirrt mich (auch aufgrund des enums). Da ich nicht wirklich weiß wie man damit arbeitet. Es war nur ein Beispiel auf dem Aufgabenzettel und danach hab ich den Enum für die Ampelfarben definiert.
Sonst wurde uns auch nichts zu dem enum gesagt.

Dann füg ich die mal lieber mit hinzu.
 

Gucky

Top Contributor
Ach so du meinst !=. = ! Ist eine Zuweisung für booleans.

Wenn du vier Variablen hast. Woher willst du dann wissen, welche Farbe die Aktuelle ist?

Wenn du nicht weißt, wie mab mit Variablen arbeitet, dann solltest du dir ein Buch oder ein Tutorial suchen.
 

arilou

Bekanntes Mitglied
Außerdem liest du nicht genau genug.

Aufgabenstellung:
1)Schreibe einen Aufzählungstypen Ampel, der die Farben einer Fahrzeug-Ampel definiert.

  • Hier steht nichts davon, dass das ein "ausführbares Programm" ergeben muss. (Also warum eine main()-Methode?)
  • Warum benennst du den Aufzählungstyp 'Farbe', wenn der Aufgabensteller 'Ampel' vorgibt?
Also
Java:
public enum Ampel { rot , gelb , gruen }
und fertig mit Aufgabe 1.

PS: Eine Ampel kann auch gelb_rot oder gelb_blinkend oder schwarz_aus sein.
Insofern muss ich Gucky widersprechen - es fehlen noch 3 Zustände, nicht nur einer.
 

Joose

Top Contributor
Naja wir sollen lauffähige Java -Dateien hochladen. Daher die main-Methode. Oder hat das nichts damit zu tun?

2.) Deklarieren sie im Anschluss im Hauptprogramm (in einer seperaten Datei) eine Variable mit diesem Aufzähungstyp .............

Sprich für Aufgabe 1 legst du eine Datei an für das Enum, für Aufgabe 2 wird eine weitere Datei mit dem Hauptprogramm (der main Methode) verlangt.
 

HoloYoitsu

Aktives Mitglied
Darf ich Senf dazu geben? :)
Fand die Aufgabe interessant, hab gerade nur leider nicht viel Zeit.
Trotzdem mal ein kleiner Ansatz, habs nicht getestet, also bitte verurteilt mich nicht ^^
Konstruktives Feedback ist aber immer herzlich wilkommen x3

[Java]package ampel;

public enum AmpelFarbe
{
ROT(),
GRUEN(),
GELB();
}[/code]

Java:
package ampel;

public class AmpelMain
{
	private AmpelFarbe farbe = AmpelFarbe.GRUEN;
	
	public AmpelMain()
	{
		String erlaubnis = "";
		String sFarbe;

		if(farbe == AmpelFarbe.GRUEN)
		{
			sFarbe = "grün";
			this.farbe = AmpelFarbe.GELB;
		}
		else if(farbe == AmpelFarbe.GELB)
		{
			sFarbe = "gelb";
		}
		else
		{
			sFarbe = "rot";
			erlaubnis = "nicht ";
			this.farbe = AmpelFarbe.ROT;
		}
		System.out.println("Die Ampel hat die Farbe " + sFarbe + ". Sie dürfen " + erlaubnis + "fahren.");
	}
	
	public static void main(String[] args)
	{
		new AmpelMain();
	}
}
 

Gucky

Top Contributor
Es ist ein Ansatz, auf dem sich aufbauen lässt (mehrere Durchläufe, variabler Anfang etc.).
Ich habe spontan keinen Fehler gefunden, nur speicherst du die Farbe als Enum und als String.
 

arilou

Bekanntes Mitglied
Für enum-Tests ist ein switch schöner;
um eine Ampelfarbe als String zu erhalten, sollte man farbe.toString() verwenden, und (wenn's denn sein muss) die .toString() im enum überschreiben. (Wird in den Java-APIs bei java.lang.Enum so empfohlen :)...)
Ansonsten bleib' ich bei meinen obigen Anmerkungen, die wohl ebenfalls akut bleiben...

Ach ja, dass 'erlaubnis' "" oder "nicht " ist ~ thematisch sollte das boolean sein, aber ok. Nur der Blank hinter "nicht " ist unschön, den würde man wohl nicht erwarten. (Falls jemand auf die Idee kommt: If( erlaubnis.equals("nicht") ) abzufragen, rechnet er bestimmt nicht mit 'nem Blank hinten dran.)
 
Zuletzt bearbeitet:
Ähnliche Java Themen
  Titel Forum Antworten Datum
M Input/Output Fallunterscheidung Problem Java Basics - Anfänger-Themen 17
F Exception - Fallunterscheidung Java Basics - Anfänger-Themen 5
A Fallunterscheidung 15.000 Java Basics - Anfänger-Themen 9
1 Fallunterscheidung; ea.Kon in JCreator einfügen; CMD akzpetiert keine java, javac Java Basics - Anfänger-Themen 5
G Verschachtelte Case Fallunterscheidung Java Basics - Anfänger-Themen 7
hedges Fallunterscheidung Problem Java Basics - Anfänger-Themen 3
B Überprüfung dass Zahl nur aus 0,1 besteht Java Basics - Anfänger-Themen 2
A Überprüfung für unentschieden in TicTacToe Java Basics - Anfänger-Themen 10
A Überprüfung in TicTacToe Java Basics - Anfänger-Themen 5
C Problem mit If Else If und Überprüfung eines Counters Java Basics - Anfänger-Themen 3
S Überprüfung rechtwinkliges Dreieck Java Basics - Anfänger-Themen 4
I Null-Überprüfung durch Lambda-Expressions abkürzen Java Basics - Anfänger-Themen 8
T Algorithmus zur Überprüfung eines binären Suchbaums Java Basics - Anfänger-Themen 2
V Personalnummer Überprüfung Java Basics - Anfänger-Themen 2
T Überprüfung einer Aufgabe zu verketteten Listen Java Basics - Anfänger-Themen 5
O Überprüfung auf Existenz einer Methode Java Basics - Anfänger-Themen 6
A null-Überprüfung Java Basics - Anfänger-Themen 24
S VierGewinnt Überprüfung Java Basics - Anfänger-Themen 7
J While-Überprüfung wird nicht wahr Java Basics - Anfänger-Themen 2
C Datentypen Methode zur Überprüfung, ob ein Rechenergbnis Int ist Java Basics - Anfänger-Themen 4
C Mit if Überprüfung von drei Werten durchführen Java Basics - Anfänger-Themen 6
B Problem bei Überprüfung des Inhalts eines Arrays Java Basics - Anfänger-Themen 25
S Überprüfung Benutzereingabe Java Basics - Anfänger-Themen 5
J Überprüfung, ob Array aufsteigend sortiert Java Basics - Anfänger-Themen 6
U Frage zur Überprüfung von einer Zahl Java Basics - Anfänger-Themen 9
C Überprüfung eines Arrays auf einen speziellen Wert Java Basics - Anfänger-Themen 5
D String-Überprüfung Java Basics - Anfänger-Themen 4
Q Überprüfung ob JTextField einen Text enthält Java Basics - Anfänger-Themen 2
B Überprüfung ob Methode von geerbter Klasse aufgerufen wird Java Basics - Anfänger-Themen 2
C Überprüfung ob Eingabe Text/ASCII Java Basics - Anfänger-Themen 24
J Überprüfung ersten Zeichens Java Basics - Anfänger-Themen 7
D Überprüfung: Double oder Integer Java Basics - Anfänger-Themen 4
N Überprüfung der ZufallsZahl? Java Basics - Anfänger-Themen 2
R Eingabe eines Chars mit Überprüfung Java Basics - Anfänger-Themen 3
O Überprüfung von Eingaben auf Sinnhaftigkeit Java Basics - Anfänger-Themen 7
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
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
pg1337 enum-Aufgabe Java Basics - Anfänger-Themen 5
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

Ähnliche Java Themen

Neue Themen


Oben