2016-07-14 2 views
-6

다음 코드에서는 두 부분으로 "Opgave1.txt"라는 텍스트 파일의 각 줄을 분할하려고합니다. 첫 번째 단어는 배열 "oplossingWoord"에 저장되고 나머지 줄은 배열 "beschrijving"에 저장됩니다. 코드의 일부가 작동합니다.시도/catch 전체 코드를 실행하지 않습니다

그러나 배열 "oplossingWoord"를 char 배열 목록 "oplossingLettersLijst"로 변환하려는 두 번째 부분은 실행되지 않습니다. 나는 이유를 모른다. 결국 나는 그것들을 소리 치려하지만 출력은 그냥 공백으로 남는다. 바라건대 너희들이 나를 도울 수 있기를 바랍니다.

미리 감사드립니다.

코드 :

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) { 

    } 
} 

TEXTFILE :

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

편집 : 그것을 스택 트레이스에 대한 모든 감사가 수정되었습니다. 고마워요!

+4

catch ..... add stacktrace ... 왜 비워 두지 않습니까? – logger

+0

왜 코드에 try/catch가 있습니까? – Andreas

+0

@ user3659052 나는 그것을 추가했다. 죄송합니다. 지금 나는 다음과 같은 오류가 발생했습니다 : java.util.NoSuchElementException을 : 없음 라인 be.kdg.letterpyramide.model.LetterPyramide에서 java.util.Scanner.nextLine (Scanner.java:1540) \t에서 \t하는 결과가 없습니다. (LetterPyramide.java:24). \t 줄 내용은 다음과 같습니다. String [] line = s1.nextLine(). split ("\\ s +"); 문제가 무엇입니까? – CaptainAargh

답변

0

대부분의 경우 코드가 예외로 실행됩니다. catch 절에 e.printStackTrace()을 추가하고 응용 프로그램을 다시 실행하여 콘솔에 인쇄 된 내용을 확인하십시오.

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

도움이됩니다.

+0

감사합니다. 나는 3 개의 예외를 가지고 있었다. – CaptainAargh

관련 문제