Mik3e
Erfahrenes Mitglied
Hi!
Habe mir zu Lernzwecken ein einfaches Übungsbeispiel ausgedacht, dass Arabische in Römische Zahlen umsetzen soll.
Das Teil sieht so aus:
Eigentlich eine banale Sache, allerdings liefert mit das Teil als Output:
1
3
Zahl nicht gefunden
Zahl nicht gefunden
Korrekt wäre aber:
1
3
I
III
In der Switch-Verzweigung erkennt er den INT Wert beim Case offensichtlich nicht (springt immer zum Default Marker). Habe ich hier ein Problem mit den Datentypen? (Obwohl dann müsste der Compiler ja meckern..)
Habe mir zu Lernzwecken ein einfaches Übungsbeispiel ausgedacht, dass Arabische in Römische Zahlen umsetzen soll.
Das Teil sieht so aus:
PHP:
public class Zahlen {
public static void main (String[] args) {
Arabischezahl meinezahl1 = new Arabischezahl(1);
Arabischezahl meinezahl2 = new Arabischezahl(3);
meinezahl1.setRoemZahlForArabZahl();
meinezahl2.setRoemZahlForArabZahl();
System.out.println(meinezahl1.getRoemZahl());
System.out.println(meinezahl2.getRoemZahl());
}
}
class Arabischezahl {
private int arab_zahl;
private String roem_zahl;
/* Konstruktor */
Arabischezahl (int arab_zahl) {
this.arab_zahl=arab_zahl;
}
/* Translation */
public void setRoemZahlForArabZahl(){
System.out.println(this.arab_zahl);
switch (this.arab_zahl) {
case 1: this.roem_zahl="I";
case 2: this.roem_zahl="II";
case 3: this.roem_zahl="III";
case 4: this.roem_zahl="IV";
case 5: this.roem_zahl="V";
default: this.roem_zahl="Zahl nicht gefunden";
}
}
/* Liefern der Römischen Zahl (Beispiel für Kapselung) */
public String getRoemZahl(){
return this.roem_zahl;
}
}
1
3
Zahl nicht gefunden
Zahl nicht gefunden
Korrekt wäre aber:
1
3
I
III
In der Switch-Verzweigung erkennt er den INT Wert beim Case offensichtlich nicht (springt immer zum Default Marker). Habe ich hier ein Problem mit den Datentypen? (Obwohl dann müsste der Compiler ja meckern..)