2012-12-27 2 views
-1

Java로 기본 프로그램을 작성하려고하는데 BlueJ를 사용하고 있습니다. 글자로 구성된 15x15 매트릭스의 텍스트 파일 (input.txt)을 읽고 단어를 찾아야합니다. 이 단어는 이미 알려져 있으며 input.txt 파일에 기록됩니다. 아마도 txt 파일은 이미 행렬과 검색 어구를 형성하기 때문에 이미 형식이 지정되어 있지만 인쇄를 시작하면 처음 7-8 행 (행렬)을 건너 뜁니다.Java : 문자 행렬로 된 txt 파일을 읽고 내부에서 단어를 검색하십시오.

저는 초보자입니다. 가능하면이 프로그램을 시작하는 방법, 처음 몇 줄을 생략하지 않고 input.txt 파일을 읽는 방법, 그리고 행렬에서 단어를 읽는 방법에 대해 조금 도와 드리겠습니다. (이미 알고있는 단어) 단어의 "위치"또는 "방향"(크로스 워드와 같은 북쪽, 남쪽, 서쪽, 동쪽, 북동쪽, 북쪽 ov, 남쪽 e 등)을 반환하십시오! 이 그래프와 같은 매트릭스 생각하고, 각각에 대한 거리를 찾는 것에 대해

15 
* 
ESAFAMELBORPOZE 
MTOTEQEVIRCSFCE 
SDSTTNLHTIMSFUD 
CITGSUGBANDTUOI 
IVRUPORAMREFBCE 
MEAIATGFTNOCSOR 
MRTDDRDAENORRPO 
ITEIEOINEMOIPOL 
AIGANCTRPIPMRSO 
UTIORETAEMOIEID 
SIAAEUGAABRNZTA 
CAMMINAVRAIEIIM 
ARTSONOPRRTLOVM 
ACATUDESNNONSOO 
TALOBMABEAMVOSS 
# 
SMITH 
TENENTE 
FERMA 
PROBLEMA 
VORRA 
STRATEGIA 
AGOSTO 
FRUTTA 
NOIA 
PAURA 
GUIDI 
SCIMMIA 
CAMMINA 
POSITIVO 
SOMMA 
SPADE 
TRENO 
TIRO 
CORTO 
MONTAGNE 
CRIMINE 
TUOI 
LIBERI 
SCRIVE 
COMPAGNO 
BAMBOLA 
VAMPIRO 
SEDUTA 
BAND 
DOLORE 
DONO 
PREZIOSO 
DIVERTITI 
BUFFO 
NOSTRA 
CUOCO 
FASE 
IDEE 
+4

무엇을 시도 했습니까? 코드 몇 가지를 보여줄 수 있습니까? @jmend 숙제 태그는 사용되지 않습니다. [여기를 보시오] (http://meta.stackexchange.com/questions/147100/the-homework-tag-is-now-official-deprecated) – Smit

+4

'NOSTRA'는 가로 12 개 (뒤쪽), 13 개는 'PREZIOSO' 수직선. 이제 프로그래밍에 대한 ** 구체적인 ** 질문이 있고 내가 한 일을 보여주고 어떤 문제인지 말하면 아마도 도움이 더 필요합니다. – SJuan76

+0

숙제 태그를 추가하려고하면 @jmend가됩니다. "이 태그는 OBSOLETE이며 제거 중입니다.이 태그를 질문에 추가하지 마십시오." –

답변

-1

한 가지 방법은 생각 :

파일 input.txt를가)

는 여러분 모두 감사합니다 워드.

잘못된 알고리즘은 단어의 시작 문자 (또는 끝 문자)를 찾은 다음 문자를 찾을 때까지 문자를 연결하는 전체 트리를 구문 분석하고 단어를 찾을 때까지 반복합니다.

here을 시작하면 훨씬 더 나은 알고리즘으로 연결됩니다. > 당신은 아마

.indexOf [수직 검색]으로 검색 할 수 있습니다 -> 당신은 문자열로 .indexOf [수평 검색]와 2. 열을 검색 할 수 있습니다 -

+0

Appart가 "이봐, 이제 그래프 야!"라고 말하면서 도움이되는 방법은 무엇입니까? 사용 가능한 연산은 같고 행과 열 대신 노드와 정점으로 표현됩니다. – SJuan76

+0

나를 위해 "이봐, 그래프 야!" 용어를 올바로 사용하면 무한히 생산적인 googleing 및 문제 해결이 가능하기 때문에 중요한 단계입니다. – Chris

+2

'Graph' 또는'Matrix'는 여러분이 사용하는 방법에 따라 (모두'table' FWIW를 사용합니다) 정확합니다. 질문은 : 그래프로 취급하는 것이 어떻게 도움이 되는가? – SJuan76

0

나는 문자열로 데이터를 1. 선을 두 번 저장하는 것 나는 검색을 위해 각 라인에서 반복을 피하기 위해 '분리 문자'를 모든 라인에 추가합니다. (열과 동일)

+0

그냥 내 두 센트. 대각선 또는 역순으로 쓰여진 단어를 어떻게 다룰 것입니까? IM (ns) HO,'char [15] [15]'는 더 나은 유연성을 제공하며 문자열 검색은 스스로 구현하기가 어렵지 않습니다. – SJuan76

+0

* backwards *는 검색 할 단어의 문자 순서를 반대로 처리 할 수 ​​있습니다. 대각선 문제가 있습니다. 대각선으로 데이터를 두 번 더 저장할 수 있습니다 [내 대답을 작성하는 동안 대각선 일치의 요구 사항을 놓친] – MrSmith42

관련 문제