Codeprüfung, die zweite :-)

Neue Frage »

Auf diesen Beitrag antworten »
Java_Beginner Codeprüfung, die zweite :-)

Meine Frage:
Hi :-)

Und die letzte Bitte für heute um eine Codeüberprüfung:

Die Aufgabenstellung lautet:

Programmieren Sie eine einfache Ampelschaltung. Hierzu soll eine Klasse ein Element vom Typ Am-pelFarbe, welches den aktuellen Zustand der Ampel enthält. Die Klasse Ampel besitzt folgende Me-thoden:
- String getFarbe(); gibt den aktuellen Zustand der Ampel als String zurück;
- void schalte(); setzt den Ampelzustand jeweils auf den nächsten sinnvollen Zustand, also von ROT nach ROT-GELB nach GRUEN usw.
Im Mainprogramm legen Sie eine Ampel an und schalten diese in einer Endlosschleife jeweils auf Druck der Returntaste. In Ermangelung einer graphischen Oberfläche geben Sie jeweils die Farbe der Ampel (also ROT, ROT-GELB, GRUEN, GELB etc.) als String aus.

Meine Ideen:
Mein Code:

code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
package ampelschaltung;
import java.util.Scanner; 

public class AmpelSchaltung 
{
    public static void main(String[] args) 
    {
        Ampel aS = new Ampel();
        while (true)
        {
            Scanner read = new Scanner (System.in);
            System.out.print("Eingabetaste drücken");
            read.nextLine();
            aS.schalte();
            System.out.println(aS.getFarbe());
        }
    }
}


class Ampel
{
    private String ampelFarbe="Test";
    private int i=0;
    private String [] arr = {"ROT","ROT-GELB","GRUEN","GELB"};
    
    public void schalte ()
    {
        ampelFarbe=arr[i];
        ++i;
        if (i==4) 
        {
            i=0;
        }
    }

    String getFarbe()
    {
        return ampelFarbe;
    }
}


 
Auf diesen Beitrag antworten »
eulerscheZahl

Gut gemacht Daumen hoch
Die Ampel kann man noch etwas kürzen:
code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
public class Ampel {
	private int i = 0;
	private String[] arr = { "ROT", "ROT-GELB", "GRUEN", "GELB" };

	public void schalte() {
		i = (i + 1) % 4;
	}

	String getFarbe() {
		return arr[i];
	}
}
Auf diesen Beitrag antworten »
Java_Beginner

Besten Dank Daumen hoch
 
Neue Frage »
Antworten »


Verwandte Themen