summaryrefslogtreecommitdiffstats
path: root/Master/Reference Architectures and Patterns/hjp5/examples/Listing1008.java
blob: bcaa0c6a591e9bfc53848b52949814236baa5c8b (plain)
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
46
47
48
49
/* Listing1008.java */

public class Listing1008
{
  enum Farbe {ROT, GRUEN, BLAU, GELB};

  public static void farbVergleich(Farbe f1, Farbe f2)
  {
    System.out.print(f1);
    System.out.print(f1.equals(f2) ? " = " : " != ");
    System.out.println(f2);
  }

  public static String toRGB(Farbe f)
  {
    String ret = "?";
    switch (f) {
      case ROT:   ret = "(255,0,0)"; break;
      case GRUEN: ret = "(0,255,0)"; break;
      case BLAU:  ret = "(0,0,255)"; break;
      case GELB:  ret = "(255,255,0)"; break;
    }
    return ret;
  }

  public static void main(String[] args)
  {
    //Aufz�hlungsvariablen
    Farbe f1 = Farbe.ROT;
    Farbe f2 = Farbe.BLAU;
    Farbe f3 = Farbe.ROT;
    //toString() liefert den Namen
    System.out.println("--");
    System.out.println(f1);
    System.out.println(f2);
    System.out.println(f3);
    //equals funktioniert auch
    System.out.println("--");
    farbVergleich(f1, f2);
    farbVergleich(f1, f3);
    farbVergleich(f2, f3);
    farbVergleich(f1, f1);
    //Die Methode values()
    System.out.println("--");
    for (Farbe f : Farbe.values()) {
      System.out.println(f + "=" + toRGB(f));
    }
  }
}