2016-11-14 4 views
0

제 학교에서 "배의 완벽한 게임"을 코딩하는 임무를 맡았습니다. 이를 위해 ship.txt라는 파일을받습니다.이 파일은 우리가 스캔하여 A, P, B, S 또는 C 배를 찾고 그 위치를 출력해야합니다.파일 스캐너가 라인을 건너 뛰었습니다

(0,2) 
(0,3) 
(0,4) 
(2,3) 
(2,9) 
(3,3) 
(3,5) 
(3,6) 
(3,7) 
(3,9) 
(4,3) 
(4,9) 
(5,3) 
(5,9) 
(6,3) 
(8,7) 
(8,8) 

문제는 이클립스 인쇄 것입니다 :

import java.util.Scanner; 
import java.io.*; 
public class BattleShip{ 
    public static void main(String[] args)throws IOException{ 
     Scanner scf = new Scanner(new File("ships.txt")); 
     String line = "p"; 

     for(int c = 0; c<10;c++){ 
      line = scf.nextLine() + " "; 

      for(int h = 0;h<10;h++){ 

       boolean isShip =   line.substring(h,h+1).equalsIgnoreCase("."); 
       if(isShip == false){ 
        System.out.println(c + "," + h); 

       } 
      } 
     } 
    } 
} 

나는 답이 있다는 것을 알고 : 여기

..CCC..... 
.......... 
...A.....B 
...A.SSS.B 
...A.....B 
...A...... 
.......... 
.......PP. 
.......... 
.......... 

내가 가지고있는 코드 :이 파일 (10 × 10)입니다 out :

(0,2) 
(0,3) 
(0,4) 
(2,3) 
(2,9) 
(3,3) 
(3,5) 
(3,6) 
(3,7) 
(3,9) 
(4,3) 
(4,9) 
(5,3) 
(7,7) 
(7,8) 

가장 좋은 추측은 t입니다. 모자 스캐너가 5 번째 라인을 건너 뛰고 있지만, 내 인생에서 나는 왜, 어떻게 고칠 지 알 수 없다. 누군가 제발 도와 줄 수 있니?

import java.util.Scanner; 
import java.io.*; 
public class BattleShip{ 
    public static void main(String[] args)throws IOException{ 
     Scanner fileScanner= new Scanner(new File("ships.txt")); 
     String line; 

     for(int row = 0; row < 10; row++){ 
      line = fileScanner.nextLine() + " "; 

      for(int column = 0; column < 10; column++){ 

       boolean isShip = line.substring(column, column + 1).equalsIgnoreCase("."); 

       if(isShip == false){ 
        System.out.print(row + "," + column + "\t"); 
       } 
       else{ 
        System.out.print(".\t"); 
       } 
      } 
      System.out.println(""); 
     } 
     fileScanner.close(); 
    } 
} 

는 다음과 같은 출력을 얻을 것이다 : 코드에 약간의 비틀기와

+0

예상되는 출력을 다시 확인해야합니다. 기억하고, 당신의 코드는 ** 0 기반 ** (루프 인덱스)를 사용합니다! – Paul

+1

프로그램이 올바른 좌표를 인쇄합니다. 당신이 "알고있는"대답은 틀린 것 같습니다. – Joe

+0

거의 맞지만 1) 17 개의 선박이 17 개의 출력이 있어야하며 2) 7 번째 열에는 순찰선 (PP)이 8 번째 행에없고 3) 0이 첫 번째 행입니다 및 열. – Jason

답변

0

. . 0,2 0,3 0,4 . . . . . 
. . . . . . . . . . 
. . . 2,3 . . . . . 2,9 
. . . 3,3 . 3,5 3,6 3,7 . 3,9 
. . . 4,3 . . . . . 4,9 
. . . 5,3 . . . . . . 
. . . . . . . . . . 
. . . . . . . 7,7 7,8 . 
. . . . . . . . . . 
. . . . . . . . . . 

는 기본적으로 동일한 코드 로직의는 그냥 줄 바꿈, 점 및 탭 추가 여기저기서 더 선명하게 보입니다.

분명히 출력은 정확하고 건너 뛴 행은 없습니다.

주어진 답변은 일식이 아닌 잘못된 것 같습니다. p

관련 문제