| 

.NET C# Java Javascript Exception

4
Guten Abend Forum,

ich versuche auf den Wert einer in einer anderen Klasse initialisierten globalen Variable zu zugreifen. Wenn ich die Instanz der Klasse mache und dann versuche den Inhalt in meiner main Methode aus zugeben bekomme ich ständig die 0 geliefert. Kann mir jemand sagen wo ich den Fehler mache?

import javax.swing.JOptionPane;

public class DezToBin {

/* Globale Variablen anlegen, damit die beiden Do-While-Schleifen und
* andere Klassen auf diese Variablen zugreifen koennen.
*/
public String eingabe, eingabe1;
public int dez, dez1 = 0;
public int i, n = 0;
public boolean input1, input2 = true;
public byte [] binZahl3 = new byte[5];
public byte [] binZahl4 = new byte[5];


// Setter Methode befuellt das Array mit der Binaerzahl
public void setInput1() {


byte[] binZahl = new byte[5];



// Ueber JOptionPane wird eine Zahl als String eingelesen
eingabe = JOptionPane.showInputDialog("Bitte 1. Dezimalzahl eingeben");

// Oeffnet bei Falscheingabe erneut die Eingabemaske
do {

// Das Array binZahl wird mit 0 gefuellt
for (int z = binZahl.length - 1; z >= 0; z--) {
binZahl[z] = 0;
}

// try-catch-Block um moegliche Fehler abzufangen
try {

// String wird in int gecastet
dez = Integer.parseInt(eingabe);
input1 = true;
i = 0;

// Berechnet die gecastete Eingabe in eine Binaerzahl um
while (dez > 0) {

if (dez % 2 == 0) {
binZahl = 0;
} else {
binZahl = 1;
}

i++;
dez /= 2;

}

// Falls der gecastete Wert kleiner als 0 ist wird die
// eigens erstellte Exception geworfen und abgefangen
if (dez < 0) {

try {

throw new NegativeInputException();

} catch (NegativeInputException nie) {
input1 = false;
eingabe = JOptionPane.showInputDialog("Negative Zahlen koennen nicht umgewandelt werden. Bitte Eingabe wiederholen");
}

}

} catch (ArrayIndexOutOfBoundsException aioobe) {
input1 = false;
eingabe = JOptionPane.showInputDialog("Zahl nicht als 5-Bit Binaerzahl darstellbar.");
} catch (NumberFormatException nfe) {
input1 = false;
eingabe = JOptionPane.showInputDialog("Ungueltige Eingabe. Bitte Eingabe wiederholen und eine Zahl eingeben");
} catch (Exception e) {
input1 = false;
System.out.println("Unbekannter Fehler");
}


} while (input1 == false);

// binZahl Werte in binZahl3 ablegen, damit andere Klassen auf die Werte
// zugreifen
binZahl3 = binZahl;


}[/code]
23.11.2011
Superbyte 11 2
1 Antwort
0
Das Problem hat sich erledigt!
23.11.2011
Superbyte 11 2
1
Schön! hast Du dabei auch gemerkt, dass es in Java keine globalen Variablen im eigentlichen Sinn gibt?

http://en.wikipedia.org/wiki/Global_variable#Java:_no_explicit_globals
Matthias Hlawatsch 23.11.2011

Stelle deine Java-Frage jetzt!