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 기반 ** (루프 인덱스)를 사용합니다! – Paul
프로그램이 올바른 좌표를 인쇄합니다. 당신이 "알고있는"대답은 틀린 것 같습니다. – Joe
거의 맞지만 1) 17 개의 선박이 17 개의 출력이 있어야하며 2) 7 번째 열에는 순찰선 (PP)이 8 번째 행에없고 3) 0이 첫 번째 행입니다 및 열. – Jason