-5
这是一个愚蠢的问题,我不好意思问这个问题,但我因时间紧迫而被烧毁。将这些电路板保存到数据结构中
我有这样的样本输入:
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
和第二个
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();
}*/
}
}
什么问题?你得到了什么类型的输出,你期望什么类型?发布内容有什么意义(更不用说了)注释掉了代码或空方法? – 2009-12-10 01:05:58
那么,你可能希望你的空行检查是:if(line.trim()。equals(“”))而不是if(line.equals(“”))。 – Roman 2009-12-10 01:09:23
为什么使用trim()? – andandandand 2009-12-10 01:11:31