Problem mit Zuweisungen

Stangl Puch

Mitglied
Hallo Leute, ich habe ein kleines Problem:

Also ich bin gerade dabei ein Programm zu programmieren (welches fertig ist) nur habe ich das Problem das ich eine Zuweisung die am Anfang z.B. 9 ist dann im Programm durch 10 dividiere. Meine Frage: Wie bekomme ich den Inahlt der Variable wieder zurück auf den Ursprungswert? Ich möchte nicht bei jeder Eingabe von einer anderen Zahl auch im Programm wieder was ändern müssen.

Also gibt es so etwas wie eine Anweisung die eine Zuweisung wieder auf den Ursprungswert versetzt?

Mein Programm sieht so aus:

Beschreibung: Das Programm verwandelt eine Zahl wie etwa 17 in die ausgeschriebene Form. D.h.: Am Schluss bei der Ausgabe steht nun siebzehn. Wenn es keine Möglichkeit gibt die Zuweisung wieder zurück zu setzen außer manuell, könntet ihr mir andere Vorschläge machen wie das Programm auch ohne funktioniert?

Java:
public class Zahlensprache{
	public static void main(String[]args){

		int z=1;
		String einer="";
		String zehner="";
		String und="und";
		String lösung="";


		if(z<0||z>100){
			System.out.println("Ungültige Zahl.");
		}else{

			//jetzt kommen Normalfälle

			z=z/10;

			if(z==2){
				zehner="zwanzig";

			}
			else if(z==3){
					zehner="dreißig";
			}
			else if(z==4){
				zehner="vierzig";
			}
			else if(z==5){
				zehner="fünfzig";
			}
			else if(z==6){
				zehner="sechzig";
			}
			else if(z==7){
				zehner="siebzig";
			}
			else if(z==8){
				zehner="achtzig";
			}
			else if(z==9){
				zehner="neunzig";
			}


			z=z%10;

			if(z==1){
				einer="ein";
			}
			if(z==2){
				einer="zwei";
			}
			if(z==3){
				einer="drei";
			}
			if(z==4){
				einer="vier";
			}
			if(z==5){
				einer="fünf";
			}
			if(z==6){
				einer="sechs";
			}
			if(z==7){
				einer="sieben";
			}
			if(z==8){
				einer="acht";
			}
			if(z==9){
				einer="neun";
			}


			}
			lösung=einer+und+zehner;



		z=1;


		if(z==1){
		lösung="eins";

		}else if(z==10){
			lösung="zehn";
		}
		else if(z==11){
			lösung="elf";
		}
		else if(z==12){
			lösung="zwölf";
		}
		else if(z==20){
			lösung="zwanzig";
		}
		else if(z==30){
			lösung="dreißig";
		}
		else if(z==40){
			lösung="vierzig";
		}
		else if(z==50){
			lösung="fünfzig";
		}
		else if(z==60){
			lösung="sechzig";
		}
		else if(z==70){
			lösung="siebzig";
		}
		else if(z==80){
			lösung="achtzig";
		}
		else if(z==90){
			lösung="neunzig";
		}
		//Sonderfall 13-19

			if(z==13){
				lösung="dreizehn";
			}
			else if(z==14){
				lösung="vierzehn";
			}
			else if(z==15){
				lösung="fünfzehn";
			}
			else if(z==16){
				lösung="sechzehn";
			}
			else if(z==17){
				lösung="siebzehn";
			}
			else if(z==18){
				lösung="achtzehn";
			}
			else if(z==19){
				lösung="neunzehn";
			}


			System.out.println(lösung);
		}




}


Wäre extrem dankbar!!!


mfg
 
Zuletzt bearbeitet von einem Moderator:
Hallo!

Soweit ich weiß ist es nicht möglich einen älteren Wert einer Variable wiederherzustellen. Warum verwendest du nicht einfach eine Hilfsvariable mit der du deine Berechnungen durchfürst und belässt (in deinem Fall) z wie sie ist?

Lg
 
Danke erstmal für die schnellen Antworten 😉

@NoXiD

Das Beispiel ist eine Hausaufgabe für die Schule und mein Lehrer meint ich darf keine zusätzlichen Variablen erstellen außer die die drei String Variablen und die eine Int Variable z 🙁


@wottpal

leider haben wir die switch anweisungen noch nicht durchgenommen, daher kommen die außer Frage 😉


mfg
 
Du verwendest vier String Variablen ;-)
Wenn Du nur eine int Variable hast und die ursprüngliche Zahl mehrmals benötigst, dann darfst Du dieser einfach keine neuen Werte zuweisen:
Java:
int z = 27;
if(z/10==2) {...}
else if (z/10==3) {...}
else if (z/10==4) {...}
else if (z/10==5) {...}
 

Neue Themen


Zurück
Oben