2016-07-14 12 views
-6

Im folgenden Code versuche ich jede Zeile einer Textdatei namens "Opgave1.txt" in zwei Teile zu teilen. Das erste Wort geht in das Array "oplossingWoord", der Rest dieser Zeile in das Array "beschrijving". Dieser Teil des Codes funktioniert.Try/catch führt keinen vollständigen Code aus

Aber der zweite Teil, wo ich das Array "oplossingWoord" in eine Char-Array-Liste "oplossingLettersLijst" konvertieren möchte, wird nicht ausgeführt. Ich habe keine Idee warum. Am Ende versuche ich auch, sie zu verlassen, aber die Ausgabe bleibt einfach leer. Hoffentlich könnt ihr mir helfen.

Vielen Dank im Voraus!

Der Code:

public class LetterPyramide { 
public static String[] oplossingWoord = new String[8]; 
public static String[] beschrijving = new String[8]; 
public static List<Character> oplossingLettersLijst = new ArrayList<Character>(); 
public static String OpgaveKeuze; 


public LetterPyramide() { 
    try { 
     File OPGAVEN_FILE = new File("Opgave1.txt"); 
     int oplossingLettersIndex = 0; 
     Scanner s1 = new Scanner(OPGAVEN_FILE); 
     for (int i = 0; i < 8; i++) { 
      String[] line = s1.nextLine().split("\\s+"); 
      oplossingWoord[i] = line[0]; 
      if (line.length > 2) { 
       for (int j = 1; j < line.length; j++) { 
        String oudeWaarde = line[1]; 
        beschrijving[i] = oudeWaarde + " " + line[j]; 
       } 
      } else { 
       beschrijving[i] = line[1]; 
      } 

     } 
     for (int i = 0; i < oplossingWoord.length; i++) { 
      for (int j = 0; j < oplossingWoord[i].length(); j++) { 
       oplossingLettersLijst.add(oplossingLettersIndex, oplossingWoord[i].charAt(j)); 
      } 
     } 

     System.out.println("------------Beschrijving------------"); 
     for (int i = 0; i < beschrijving.length; i++) { 
      System.out.println(i + "." + beschrijving[i]); 
     } 
     System.out.println("----------Oplossingen---------------"); 
     for (int i = 0; i < oplossingWoord.length; i++) { 
      System.out.println("woord " + i + ": " + oplossingWoord[i]); 
      for (int j = 0; j < oplossingLettersLijst.size(); j++) { 
       System.out.print(oplossingLettersLijst.get(j)); 
      } 
     } 

    } catch (Exception e) { 

    } 
} 

Die Text-Datei:

LA Opbergplaats 
BAL Speelgoed 
BALE Voetballer 
BLASE Dikkenekkerig 
LOEBAS Boerenkinkel 
SLABOER Groentenkweker 
BROLSATE Slecht vlees op een stokj 

EDIT: Fest es alles dank der stacktrace. Danke Jungs!

+4

in Ihrem Fang ..... fügen Sie einen StackTrace ... warum lassen Sie es leer? – logger

+0

Warum haben Sie sogar einen Versuch/Fang im Code? – Andreas

+0

@ user3659052 Ich habe das hinzugefügt. Hoppla, das erklärt viel. Jetzt habe ich folgende Fehlermeldung: java.util.NoSuchElementException: keine Linie \t bei java.util.Scanner.nextLine (Scanner.java:1540) \t bei be.kdg.letterpyramide.model.LetterPyramide gefunden. (BriefPyramide.java:24). \t Ich bin über diese Zeile: String [] line = s1.nextLine(). Split ("\\ s +"); Was ist das Problem damit? – CaptainAargh

Antwort

0

Höchstwahrscheinlich läuft Ihr Code in einer Ausnahme. Fügen Sie e.printStackTrace() zu Ihrer catch-Klausel hinzu und führen Sie Ihre Anwendung erneut aus, um zu sehen, was auf der Konsole gedruckt wird.

try { 
    // your code 
} catch (Exception e) { 
    e.printStackTrace(); 
} 

Das sollte helfen.

+0

Danke! Ich hatte 3 Ausnahmen. – CaptainAargh

Verwandte Themen