• Miércoles 8 de Mayo de 2024, 07:03

Autor Tema:  Problema de logica con sopa  (Leído 1899 veces)

sterlingdiazd

  • Nuevo Miembro
  • *
  • Mensajes: 1
    • Ver Perfil
Problema de logica con sopa
« en: Martes 5 de Julio de 2011, 01:09 »
0
Saludos a Todos.

Estoy haciendo un programa de una sopa de letras compuesta por una matriz 9*9. He desarrollado el siguiente codigo y suplico su ayuda para terminarlo. Lo que hace es sustituir las letras de primera linea de del documento sopa.txt, y la sustituye por la misma letra cubierta por chorchetes. Asi si la primera linea se muestra asi:

Citar
F O M Q R X L O B O

El codigo que tengo hasta ahora la mostrara asi:

Citar
F
  • M Q R X [L]
Eso es lo que tiene que hacer el programa. Pero en la parte que estoy varado en en la logica. Ya que como muestra el codigo anterior, la segunda letra no deberia mostrarse con el corchete aunque esa letra este incluida en la palabra que debe buscar, sino que solo se deben "encorchetar" palabras completas que sean igual a la que se busca y no cada letra que coincida.

Como ven, el problema por el momento no es el codigo, sino la logica. No tengo las ideas de como hacerlo. Cualquier ayuda o sugerencia seria grandemente agradecida. Gracias!!!

Código: Java
  1.  
  2. import java.io.*;
  3. import java.util.LinkedList;
  4.  
  5. public class Lector {
  6.     public static void main(String[]args) throws FileNotFoundException, IOException{
  7.         try {
  8.            
  9.             FileReader archivo = new FileReader("sopa.txt");
  10.             BufferedReader buff = new BufferedReader(archivo);
  11.             LinkedList caracteresLinea = new LinkedList();
  12.             LinkedList animalCorchetado = new LinkedList();
  13.             String linea = buff.readLine();
  14.             char [] charLinea = linea.toCharArray();
  15.             archivo.close();
  16.            
  17.             //GUARDA CADA LETRA EN UN OBJETO STRING EN UN LINKEDLIST
  18.             for (int i = 0; i < charLinea.length; i++){
  19.                 String x = charLinea[i] +"";
  20.                 caracteresLinea.add(x);
  21.                 System.out.print(x);
  22.             }
  23.             System.out.print("n");
  24.              
  25.             String [] animal = {"L", "O", "B", "O"};
  26.             //String [] animalCorchetado = {"[L]", "[O]", "[B]", "[O]"};
  27.            
  28.             for (int i = 0; i < charLinea.length; i++){
  29.                 String x = "[" + charLinea[i] + "]";
  30.                 animalCorchetado.add(x);
  31.                 System.out.print(x);
  32.             }
  33.  
  34.             /*
  35.             for  (int x = 0; x < animal.length; x++) {
  36.                 for (int i = 0; i < caracteresLinea.size(); i++){
  37.                
  38.                    
  39.                     if ( caracteresLinea.get(i).equals(animal[x])  ){
  40.                         caracteresLinea.set(i, animalCorchetado[x]);
  41.                         break;
  42.                     }
  43.                 }
  44.             }
  45.             */
  46.  
  47.             //Muestra las letras String del LinkedList
  48.             for (int i = 0; i < caracteresLinea.size(); i++){
  49.                 System.out.print(caracteresLinea.get(i));
  50.             }
  51.             System.out.print("n");
  52.            
  53.         } catch (IOException ex) {
  54.             System.out.println("Error: " + ex.toString());
  55.         }
  56.        
  57.     }
  58. }
  59.