en el texto esta esto
A I B M O L O C N
R N E S P A Ñ A I
O C I X E M P R C
G U A T E M A L A
C B P A N A M A R
H A Y I L E A P A
I O C I X E G E G
L H Y A U G U R U
E C U A D O R U A
y cuando me pide el diccionario osea las palabras a buscar esta tambien en el disco D:\\diccionario.txt el cual las palabras son:
Argentina Chile Colombia Cuba Ecuador Espana Guatemala Mexico Nicaragua Panamá Peru Uruguay
No se si se pone asi las palabras porque en el programa lo carga pero no lo resuelve no encuentro porque la razon de no encontrarlo mi programa esta hecho en netbeans
Esperando que algun monstruo en java me ayude es para mi proyecto de Universidad Gracias.....ayudenme ps

import java.io.*;
public class BusquedaPalabras
{
private static final int MAX_FILAS= 64;
private static final int MAX_COLUMNAS= 64;
private static final int MAX_PALABRAS=100000;
private int filas;
private int columnas;
private int numPalabras;
private String [] palabras= new String[MAX_PALABRAS];
private BufferedReader sopaStream;
private BufferedReader palabraStream;
private char sopa[][]=new char[MAX_FILAS][MAX_COLUMNAS];
private BufferedReader in=new BufferedReader(new InputStreamReader(System.in));
public BusquedaPalabras()
{
sopaStream = abreFichero("introduzca fichero de la sopa");
palabraStream = abreFichero("y el del diccionario");
leeSopa();
leePalabras();
}
public int resolverSopa()
{
int numPal=0;
for(int f=0;f<filas;f++)
{
for(int c=0;c<columnas;c++)
{
for(int df=-1;df<=1;df++)
{
for(int dc=-1;dc<=1;dc++)
{
if(df!=0 || dc!=0)
{numPal=numPal+resolverDireccion(f,c,df,dc);
}
}
}
}
}
return numPal;
}
private static int busquedaPrefijo(String [] a,String x,int n)
{
int inf=0;
int sup=n-1;
while(inf<sup)
{
int med=(inf+sup)/2;
if(a[med].compareTo(x)<0)
{
inf=med+1;
}
else
sup=med;
}
return inf;
}
private BufferedReader abreFichero(String mensaje)
{
String nombreFichero="";
FileReader fichero;
BufferedReader fichEntrada=null;
do
{
System.out.println(mensaje+":");
try
{
nombreFichero=in.readLine();
if(nombreFichero==null)
System.exit(0);
fichero=new FileReader(nombreFichero);
fichEntrada=new BufferedReader(fichero);
String linea;
while((linea=fichEntrada.readLine())!=null)
System.out.println(linea);
}
catch(IOException e)
{System.err.println("No se Puede Abrir"+nombreFichero);}
}while(fichEntrada==null);
System.out.println("Abierto"+nombreFichero);
return fichEntrada;
}
private void leePalabras()
{
numPalabras=0;
try
{
while((palabras[numPalabras]=palabraStream.readLine())!=null)
{
if(numPalabras!=0&& palabras[numPalabras].compareTo
(palabras[numPalabras-1])<0)
{
System.err.println("El diccionario no esta ordenado"+"ordenado-saliendo");
}
else if(++numPalabras>=MAX_PALABRAS)
break;
}
if(palabraStream.ready())
System.err.println("Aviso: no se han leido los"+"datos-incremente MAX_PALABRAS");
}
catch(IOException e)
{}
}
private void leeSopa()
{
String unaLinea;
try
{
unaLinea=sopaStream.readLine();
if(unaLinea==null)
{
filas=0;
return;
}
columnas=unaLinea.length();
for(int i=0;i<columnas;i++)
sopa[0]=unaLinea.charAt(i);
for(filas=1;
(unaLinea=sopaStream.readLine())!=null;filas++)
{
if(unaLinea.length()!=columnas)
System.err.println("La sopa es incorrecta");
for(int i=0;i<columnas;i++)
sopa[filas]=unaLinea.charAt(i);
}
}
catch(IOException e)
{}
}
private int resolverDireccion(int filaBase,int colBase,int filaDelta,int colDelta)
{
String secuencia=" ";
int numPal=0;
int resultadoBusqueda;
secuencia+=sopa[filaBase][colBase];
for(int i=filaBase+filaDelta,j=colBase+colDelta;
i>=0&& j>=0 && i<filas && j< columnas;
i+=filaDelta,j+=colDelta)
{
secuencia+=sopa[j];
resultadoBusqueda=busquedaPrefijo(palabras,secuencia,numPal);
if(!palabras[resultadoBusqueda].startsWith(secuencia));
break;
if(palabras[ resultadoBusqueda ].equals( secuencia ))
{
numPal++;
System.out.println("Encontrada"+secuencia + "de" + filaBase + "" + colBase +
"a" + i + "" + j);
}
}
return numPal;
}
}
/*void main()*/
public class Main {
/**
* @param args the command line arguments
*/
public static void main(String[] args)
{
BusquedaPalabras p=new BusquedaPalabras();
System.out.println("Resolviendo....");
p.resolverSopa();
}
}