#java #puzzle
#java #Головоломка
Вопрос:
Я новичок в JAVA, и я понятия не имею, как это начать. Я искал хорошее начало. Мне нужно прочитать текстовый файл определенного формата и поместить его в представление. сначала мне нужно прочитать размеры сетки, затем слова в порядке головоломки, затем количество слов, которые необходимо найти, и последнее фактическое слово. Если кто-нибудь может направить меня в правильном направлении с помощью примера, это действительно помогло бы. это формат текстового файла
5 5
abcd
dfad
adfe
lkjl
ekkf
5
realword
realword
realword
realword
realword
РЕДАКТИРОВАТЬ: итак, это то, что я попробовал после тестирования, чтобы прочитать файл, который работает (спасибо!). но я получаю stuk здесь, мне все еще нужно перейти с char[][] на box[][] , так как он мне понадобится для заполнения сетки букв.
import java.io.*;
import java.util.List;
public class Puzzle {
//Box[][] letterGrid;
char[][] letterGrid;
List<Word> wordList;
List<Box> wordInWording;
public Puzzle() {
try {
BufferedReader br = new BufferedReader(new FileReader("..\word.txt"));
String[] dimensions = br.readLine().split(" ");
letterGrid = new char[Integer.parseInt(dimensions[0])][Integer.parseInt(dimensions[1])];
for (int i = 0; i < letterGrid[0].length; i ) {
String val = br.readLine();
letterGrid[i]= val.toCharArray();
}
//while something something
int r = br.read();
int c = br.read();
letterGrid = new char[r][c];
for (int i = 0; i<r; i ){
String getChar = new String(br.readLine());
for(int j=0; j<c; j ){
letterGrid[i][j] = getChar.charAt(j);
}
}
// String sCurrentLine;
// while ((sCurrentLine = br.readLine()) != null) {
// System.out.println(sCurrentLine);
// }
} catch (IOException e) {
e.printStackTrace();
}
}
}
Комментарии:
1. Я кое-что добавил, но, похоже, я не могу понять логику, стоящую за целыми числами, затем символами, затем int, затем строками
Ответ №1:
Вот хорошее начало:
Я просто дам вам подсказку о том, как читать строки из текстового файла. Вы должны построить логику самостоятельно после чтения из него.
public static void main(String[] args) {
BufferedReader br = null;
try {
String sCurrentLine;
br = new BufferedReader(new FileReader("C:\testing.txt"));
while ((sCurrentLine = br.readLine()) != null) {
System.out.println(sCurrentLine);
}
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
if (br != null)br.close();
} catch (IOException ex) {
ex.printStackTrace();
}
}
}
Вы не должны публиковать такие вопросы в SO, даже не попробовав. Попробуйте написать код, если вы застряли, опубликуйте его и попросите о помощи. Сообщество не поощряет подобные вопросы.
Комментарии:
1. Чтение файла сработало (спасибо!), Но потом я застрял с размерами и чтением слов. Я просто не понимаю, как сначала прочитать int с пробелами между ними, а затем прочитать символы головоломки, а затем прочитать количество слов и последние фактические слова. Логика просто еще не существует для меня. любая помощь?