2016-04-21 35 views
0

Ich muss ein Array mit 10 Einträgen erstellen, die das Programm vom Benutzer anfordert, wenn der erste Eintrag 9999 ist, muss ich programmieren, um zu beenden. Ich muss auch versuchen/fangen für Fehler. Unten ist, was ich habe, aber ich kann nicht die Variable "Nummer" bekommen, um überall erkannt zu werden, wenn ich die Versuch/Fang-Schleife eingib ... HILFE !!!Schleifen in Schleifen in Schleifen in Java

public static void main(String[] args) { 
int nextIndex = 1; 
int[] numberFun; 
numberFun = new int [10]; //creates the array with 10 entries 
Scanner Keyboard = new Scanner (System.in); 
int entry = 0; 
//I'm trying to get the first entry to determine if it equals 9999 with this section 
int firstNumber=0; 
System.out.println ("Please enter a number"); 
firstNumber = Keyboard.nextInt(); 
numberFun[0] = firstNumber; 
if (firstNumber != 9999) 
       { 
        while (entry < 9) //this loop is supposed to obtain the other 9 entries for the array from the user 
        { 
        int number; 
        System.out.println ("Please enter a number"); 
         try // this is supposed to provide an error if the user enters something that is not a number 
         { 
         number = Keyboard.nextInt(); 
         } 
         catch (Exception ex) 
         { 
         //display error message here 
         } 
        numberFun[nextIndex] = number; 
        ++nextIndex; 
        ++entry; 
        } 
       } 
else 
{ 
    System.err.println("Command Accepted. Exiting Program."); 
} 

es funktioniert, bis ich in den try/catch setzen.

+0

Sie müssen nur das int initialisieren (z. B. int-Nummer = 0;) –

Antwort

0

Schreib firstNumber = Keyboard.nextInt(); in Try-Catch-Block

und Sie müssen int number; vor

1

ändern,

Verwendung initialisieren
int number; 

zu

Die Variable, auf die Sie später im Programm zugreifen, muss initialisiert werden, da Java nicht kompiliert wird, wenn nicht garantiert wird, dass die von Ihnen verwendete Variable keinen Wert hat, mit dem gearbeitet werden kann. Da Sie number keinen Anfangswert angegeben haben, als Sie ihn deklarierten, und dennoch einen try catch-Block verwenden, wird Java nicht sicher wissen, ob number einen Wert haben wird, bis er den try catch-Block erreicht warum es momentan nicht funktioniert.