Hallo zusammen,
das hier ist mein erster Thread . Ich kann meinen Fehler leider nicht genau erklären, daher konnte ich unter google und auch in der Forensuche nichts finden. Ebenfalls habe ich gestern erst mit Java angefangen.
Ich versuche einen Fehler mit try / catch abzufangen. Bei dem Fehler geht es um die Zuweisung eines Werts zu String[] args aus der main Klasse. Dort soll ein String in einen Integer umgewandelt werden und dieser dann als Argument an die Main übergeben werden.
Um die Variablendeklaration und Wertezuweisung habe ich nun einen try/catch block gebaut um zum Beispiel die Eingabe von Zeichen wie Buchstaben abzufangen. Da nun die Variablen in dem try Block stehen kann ich im Rest des Programms nicht mehr aus Sie zugreifen. Kann mir da einer was zu sagen?
Hier mal mein Code
Danke schonmal.
das hier ist mein erster Thread . Ich kann meinen Fehler leider nicht genau erklären, daher konnte ich unter google und auch in der Forensuche nichts finden. Ebenfalls habe ich gestern erst mit Java angefangen.
Ich versuche einen Fehler mit try / catch abzufangen. Bei dem Fehler geht es um die Zuweisung eines Werts zu String[] args aus der main Klasse. Dort soll ein String in einen Integer umgewandelt werden und dieser dann als Argument an die Main übergeben werden.
Um die Variablendeklaration und Wertezuweisung habe ich nun einen try/catch block gebaut um zum Beispiel die Eingabe von Zeichen wie Buchstaben abzufangen. Da nun die Variablen in dem try Block stehen kann ich im Rest des Programms nicht mehr aus Sie zugreifen. Kann mir da einer was zu sagen?
Hier mal mein Code
Java:
public class ZahlAusdenken {
public static void main(String[] args) {
//Variablendeklaration - Umwandeln des Arguments in Integer
try
{
// Hier stehen die variablen im Try Block. Weiter unten kann ich nicht mehr auf sie zugreifen
int startzahl = Integer.parseInt(args[0]);
int ergebnis = startzahl;
}
catch ( NumberFormatException e)
{
String name = e.getClass().getName();
String msg = e.getMessage();
String toStr = e.toString();
System.out.println(name);
System.out.println(msg);
System.out.println(toStr);
e.printStackTrace();
}
// Hier kann ich schon nicht mehr zugreifen.
if (ergebnis > 0)
{
ergebnis = ergebnis + 2;
}
else
{
ergebnis = ergebnis * (-1) + 2;
}
while (ergebnis > 2)
{
ergebnis = ergebnis - 2;
}
switch (ergebnis) {
case 0:
System.out.println("Das kann nicht sein!");
break;
case 1:
System.out.println("Die urspruengliche Zahl war ungerade!");
break;
case 2:
System.out.println("Die urspruengliche Zahl war gerade!");
break;
default:
System.out.println("Fehler!");
}
System.out.println("startzahl = " + startzahl);
}
}
Danke schonmal.
Zuletzt bearbeitet: