Im folgenden Programm wird unter anderem eine Variable Result belegt und soll zurückgegeben, dann ausgegeben werden. Leider bleibt diese nach Eingabe der Zahlenwerte leer...
Kann sich das bitte einmal jemand ansehen, ich glaube ich habe die Variable Result doppelt belegt und deswegen funktioniert es nicht oder so:
MfG und Danke im Voraus!!
Kann sich das bitte einmal jemand ansehen, ich glaube ich habe die Variable Result doppelt belegt und deswegen funktioniert es nicht oder so:
Code:
/*
* Programm für Umwandlung von Zahlen "in Worte"
* by Sebastian Spanner November 2004
* last edited 7.11.04 11:30
*/
public class Num2Word extends IO{
/* Hauptfunktion zur Namenserstellung */
public static String intName( int num )
{
String result;
result = "";
int c = num;
if (c >= 100)
{
result = result + " " + digitName(c / 100) + " hundert";
c = c % 100;
}
else if (c >= 20)
{
result = result + " " + tensName(c / 10);
c = c % 10;
}
else if (c >=10)
{
result = result + " " + teenName(c);
c = 0;
}
else if (c >= 0)
{
result = result + " " + digitName(c);
}
return result;
}
/* Hauptfunktion-Ende */
/* Methode für Zehnerstellen von 20 bis 99. */
public static String tensName(int num)
{
String tensName;
switch(num)
{
case(2): tensName = "zwanzig"; break;
case(3): tensName = "dreiszig"; break;
case(4): tensName = "vierzig"; break;
case(5): tensName = "fuenfzig"; break;
case(6): tensName = "sechzig"; break;
case(7): tensName = "siebzig"; break;
case(8): tensName = "achzig"; break;
case(9): tensName = "neunzig"; break;
default: tensName = "";
}
return tensName;
}
/* Methode für Zehnerstellen von 10 bis 19. */
public static String teenName(int num)
{
String teenName;
switch(num)
{
case(10): teenName = "zehn"; break;
case(11): teenName = "elf"; break;
case(12): teenName = "zwoelf"; break;
case(13): teenName = "dreizehn"; break;
case(14): teenName = "vierzehn"; break;
case(15): teenName = "fuenfzehn"; break;
case(16): teenName = "sechzehn"; break;
case(17): teenName = "siebzehn"; break;
case(18): teenName = "achtzehn"; break;
case(19): teenName = "neunzehn"; break;
default: teenName = "";
}
return teenName;
}
/* Methode für Einerstellen */
public static String digitName(int num)
{
String digitName;
switch(num)
{
case(1): digitName = "ein"; break;
case(2): digitName = "zwei"; break;
case(3): digitName = "drei"; break;
case(4): digitName = "vier"; break;
case(5): digitName = "fuenf"; break;
case(6): digitName = "sechs"; break;
case(7): digitName = "sieben"; break;
case(8): digitName = "acht"; break;
case(9): digitName = "neun"; break;
default: digitName = "";
}
return digitName;
}
/* Methoden-Ende */
public static void main(String args[]){
int num;
char check;
String out, result;
out = "";
result = "";
check = 'j';
while(check == 'j' || check == 'J'){
IO.write("Bitte geben sie eine Zahl zwischen 1 und 999 ein: ");
num = IO.readInt();
IO.readLn();
if(num >= 1 && num <= 999){
intName(num);
}else{
out = "Die Zahl " + num + " in Worten: ***";
IO.write(out);
}
IO.write(result);
IO.writeLn();
check = 'x';
while(check != 'j' && check != 'n'){
IO.write("Noch eine Zahl in Worten ausdruecken? [j/n]: ");
check = IO.read();
IO.writeLn();
}
}
}
}
MfG und Danke im Voraus!!