これはばかげた質問で、質問するのは恥ずかしいと思いますが、時間に追われて燃え尽きています。
私はこのサンプル入力を持っています:
1 4 2
3 0 5
6 7 8
3 1 2
6 4 5
0 7 8
-1 -1 -1
数字の各グループは8パズルのボードを表しており、テキストファイルに表示されるボードの数はわかりません。私はその終わりが-でマークされていることを知っているだけです1 -1 -1.
私はこのことの論理が単純であることを知っています、私はただ疲れていて、コードを機能させることができません。
最初のボードの出力は次のようになります。
142305678
そして2番目のもののために
312645078
私が得ている:
142142142
312312312
これまでの私のコードは次のとおりです。
package puzzle;
import java.io.*;
import java.util.*;
/**
*
* @author Administrator
*/
public class Main {
/**
* @param args the command line arguments
*/
public static void saveTheLine (String [] splittedLine ) {
}
public static void main(String[] args) throws IOException{
// TODO code application logic here
FileReader fr = new FileReader("E://Documents and Settings//Administrator//My Documents//NetBeansProjects//8Puzzle//src//puzzle//ocho.in");
BufferedReader br = new BufferedReader(fr);
/*
String line = br.readLine();
while (!line.equals("-1 -1 -1")) {
line= br.readLine();
//ArrayList <String> board = new ArrayList<String>();
String board = new String("");
while (!line.equals(null))
{
board = board + line;
line= br.readLine();
}
System.out.println("a board is " + board);
}
*/
while (true) {
String line= br.readLine();
if (!line.equals("-1 -1 -1")){
if (line.equals(" ")) {
continue;
}
String board = new String (" ");
ArrayList<String> board2 = new ArrayList<String>();
for (int i =0; i<3; i++){
String [] splittedLine = line.split(" ");
board = line+board;
for (int addToBoardIndex =0; addToBoardIndex < splittedLine.length; addToBoardIndex++){
board2.add(splittedLine[addToBoardIndex]);
}
br.readLine();
}
//System.out.println(board);
for (String s : board2) {
System.out.print(s);
}
System.out.println(" ");
}
else if (line.equals("-1 -1 -1")) {
break;
}
}
/*String line = br.readLine();
while (!line.equals("-1 -1 -1"))
{
//StringBuilder board = new StringBuilder("");
ArrayList<String> board = new ArrayList<String>();
for (int lineIndex =0; lineIndex<3; lineIndex++){
line = br.readLine();
String [] splittedLine = line.split(" ");
board.add(splittedLine [0]);
board.add(splittedLine [1]);
board.add(splittedLine [2]);
}
for (String boardIndex: board){
System.out.println(boardIndex);
}
String blankLine = br.readLine();
}*/
}
}