Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden. Du solltest ein Upgrade durchführen oder ein alternativer Browser verwenden.
Ich programmiere ein Programm welchen eine Zahl einlist und sie als Wort ausgibt.
Wenn ich ich aber übersetzen drücke zeigt es mir, dass es einen boolean Wert gefunden hat aber int hat. Habe ich das richtig gesagt?
Wie gesagt ich habe ja nicht mal einen boolean Wert. Ein boolean Wert gibt ja nur true oder false zurück.
Könntet ich mir sagen was da falsch ist.
Danke im Voraus.
[Java]/**
* Beschreiben Sie hier die Klasse Zahl_in_Worten.
*
* @author (Ihr Name)
* @version (eine Versionsnummer oder ein Datum)
*/
public class Zahl_in_Worten
{
public static void main (String[]args)
{
Out.print ("Geben Sie eine Zahl ein: ");
int z = In.readInt ();
int z2 = 0;
String zahlStr;
z = z/10;
z2 = (z%10);
switch (z)
{
case z > 20 && z < 29:
zahlStr = "zwanzig";
break;
case z > 30 && z < 39:
zahlStr = "dreißig";
break;
case z > 40 && z < 49:
zahlStr = "vierzig";
break;
case z > 50 && z < 59:
zahlStr = "funfzig";
break;
case z > 60 && z < 69:
zahlStr = "sechszig";
break;
case z > 70 && z < 79:
zahlStr = "siebzig";
break;
case z > 80 && z < 89:
zahlStr = "achtzig";
break;
case z > 90 && z < 99:
zahlStr = "neunzig";
break;
}
}
}
[/code]
Mein Programm ist noch nicht fertig.
Du kannst case-Statements nicht so benutzen, wie Du es gemacht hast. Case prüft auf einen einzelnen Wert und nicht auf boolsche Ausdrücke. Die gehen nur mit ifs.
du kannst in Java nur int und enum in einen switch packen, keine ganzen Zahlenbereiche. Dafür musst du dann doch wieder auf ein langweiliges if zurückgreifen.
EDIT: du kannst aber natürlich über ((int) z / 10) switchen, das müsste eigtl. gehen.
Also etwas derart:
du kannst in Java nur int und enum in einen switch packen, keine ganzen Zahlenbereiche. Dafür musst du dann doch wieder auf ein langweiliges if zurückgreifen
Hab es mit einem if gemacht hat funktioniert. Habe bis jetzt nur mit switch gearbeitet gut das ich das jetzt weis mit den switch Anweisungen danke für eure Hilfe.
1. Das wurde etewas weiter oben bereits erwähnt
2. Nicht jeder hat die Java 1.7 SE bereits (aus welchen Gründen auch immer). Ob der Ersteller der Frage hier die 7 hat, können wir ihn ja mal fragen...
3. Das tut hier immer noch nichts zur Sache, da es in der Frage lediglich um Integer-Werte ging
4. ich werd´s mir aber für meinen nächsten Beitrag melden: switch lässt seit neuestem auch Strings zu...
Nebenbei bemerkt gibt es dafür eine Lösung mit konfigurierbaren Regeln (manche Sprachen sind bei den Zahlenwerten sehr viel schwieriger als Deutsch) bei ICU4J (ICU - International Components for Unicode):