2017-03-27 15 views
0

유우, 너무 구체적이지 않기를 바랍니다. 나는 스도쿠를 만들고 있는데, 잘못된 모든 x와 y 좌표를 처리하는 방법이있다. 나는 끈으로 묶는다. 잘못된 숫자를 찾으면 좌표를 x, y를 잘못 입력 한 다음 x, y, x, y, x, y와 같이 더합니다. SudokuResultCount는 좌표를 유지하는 다른 클래스입니다. FalseCoordinates는 내가 그들을 지키는 문자열입니다. 그래서 "교정 스도쿠"버튼을 누르면이 방법이 사용됩니다.거짓 스도쿠 좌표계를 빨간색으로 만들기

이이 방법으로 구성됩니다 문자열 길이> 0의 수는 다음을 통해 검색하는 경우

try{ 
      int falseCoordinatesLength = SudokuResultCount.getFalseCoordinates().length(); 
      if(falseCoordinatesLength > 0) 
      { 
       SudokuMetoder.totalfalsecoordinates(KeepingUpWithTheSudokus.getSolution(), KeepingUpWithTheSudokus.getStartingvalues()); 
       int targetStringchar = 0; 
       int targetStringchar1= 1; 
       int numbersOfLoops = SudokuResultCount.getFalseCoordinates().length(); 
       int realnumbersOfLoops = numbersOfLoops/2; 
       for(int number = 0; number < realnumbersOfLoops; targetStringchar = targetStringchar + 2, targetStringchar1 = targetStringchar1 + 2, number++){ 
        char a_char = SudokuResultCount.getFalseCoordinates().charAt(targetStringchar); 
        char b_char = SudokuResultCount.getFalseCoordinates().charAt(targetStringchar1); 
        int x = Character.getNumericValue(a_char); 
        int y = Character.getNumericValue(b_char); 
        System.out.println(y); 
//     int x = (int)a_char; 
//     int y = (int)b_char; 
        textFields[x][y].setStyle("-fx-border-color: red ; -fx-border-width: 2px ;"); 
       } 
      } 
      } 
      catch(Exception e3){ 
       String str = "2" + "2" + "";        
       char b_char = str.charAt(0); 
       int x = Character.getNumericValue(b_char); 
       System.out.println(x); 
       textFields[2][3].setStyle("-fx-border-color: red ; -fx-border-width: 2px ;"); 
       textFields[2][3].setStyle("-fx-background-color: transparent, #909090, transparent, red;"); 
      } 

:

public static void totalfalsecoordinates(int array[][], int array2[][]){ 
     SudokuResultCount.setFalseCoordinates(""); 


     for(int x=0; x < 9; x++) 
     { 
      for(int y=0; y < 9; y++){ 
       try{ 
        if(array2[x][y] != array[x][y]&& array2[x][y] != 0) 
        { 
         SudokuResultCount.setFalseCoordinates(x + y + ""); 
        } 
       } 
       catch(Exception e){ 

       } 
      } 
     } 
    } 

나는이 방법으로 나중에이 방법을 실행합니다. 그리고 한 번에 String에서 두 개의 숫자를 취하기 때문에 String의 길이를 가져 와서 두로 나눕니다.

그런 다음 문자로 만들어서 어느 것을 가져갈 지 결정할 수 있습니다. 좌표를 살펴보면 : 0,1 잘못 되었나요? 그런 다음 어레이 [0] [1]을 빨간색으로 켜십시오. 그렇지 않으면 계속 이동하십시오. 그러면 0,1 2,3,4,5 ...

너무 구체적인 경우 제거하라는 메시지가 표시됩니다.

감사합니다.

+0

TL; 나는 긴 설명과 코드가 간단한 질문을 숨기고 있다고 생각한다. 빨간색 텍스트를 콘솔에 출력하는 방법을 묻고 있습니까? – c0der

+0

사용자가 잘못된 번호를 입력했을 때 스도쿠 (배열 2d)의 텍스트 필드가 잘못된 좌표로 바뀌려고합니다. – brovatten

+0

내가 물었던 것에 대한 대답을 얻지 못했습니다. 정보가 너무 많고 필수 정보가 너무 적습니다. [MCVE]를 게시하십시오. – c0der

답변

0

누구에게 도움이되지는 않지만 대답을 찾았습니다. 그것은 내가 좌표를 계층화 한 문자열에 x + y + ""를 추가 한 곳을 엉망으로 만들었습니다. 나는해야만했다. ""+ "x +" "+ y +" "