[ Foro de Java ]

aiudaaaaa

20-Oct-2020 09:57
Invitado (Aiudaaaaaaa)
3 Respuestas

Recibo un texto por teclado, y tengo que verificar que esa palabra se encuentre ordenada en un arreglo(anagramas), lo que hice fue crear 2 arreglos.
1 arreglo tiene la palabra desordenada, y otro ordenada porque debo imprimir ambos en pantalla.

El punto es que al comprara con el charAt en la posicion del arreglo, a la hora de imprimir de da null point.


if (palabra.equals("pared") ) {
               
               for (int i = 0; i < pp.length; i++) {
                   
                   for (int j = 0; j < pp[i].length; j++) {
                       
                       if(pp[i][j].equals(palabra.charAt(q)) && q<5) { //ERROR ACÁ. me da null
                       p[i][j] = pp[i][j];
                       q++;
                       }
                       System.out.print(p[i][j] + " ");// Imprime elemento
                   }
                   System.out.println("");
                   
               }
               contpalabras++;
             
           }


20-Oct-2020 10:46
Nacho Cabanes (+73)

Con variables tan poco legibles como pp (que no se sabe dónde declaras), p, i, j y números mágicos como ese 5, cuesta seguir tu lógica.


20-Oct-2020 11:48
Invitado (Aiudaaaaaaa)

jeje. pp y  p son los arrays.

en esos 2 for recorro mis 2 arrays.

luego q es la variable que utilizo para aumentar el contador para el charAt.

lo que trato de hacer es que cuando la palabra en este caso es " pared "

bien, cuando el charAt(0) o sea "p" me coincida con la letra p ubicada en la pocision del array pp[i][j]

este me la sustituya en el otro array.
no sé si ahora me di a entender.

mi caso es que no sé si se me está desbordando el array por recorrer más posiciones de la palabra digitada por teclado o qué.
Pero me da null point y se cae ahí.


20-Oct-2020 11:53
Invitado (Aiudaaaaaaa)

El juego por desarrollar consiste en el clásico juego de anagramas, pero aumentando
su dificultad con palabras horizontales y verticales. Tal y como muestra la imagen
No.1 el estudiante deberá desarrollar un juego que permita generar partidas con
anagramas tanto de manera horizontal como de manera vertical, las palabras deben
coincidir en aquellos puntos donde chocan.
El jugador tendrá solo 7 oportunidades de fallar al adivinar las palabras. El jugador
al perder una partida perderá todos los niveles que haya avanzado. Los estudiantes
deberán hacer uso de arreglos, matrices y programación orientada a objetos para
resolver el problema planteado.
Funcionalidad por desarrollar:
• El proyecto deberá tener cinco niveles de la siguiente manera:
o Primer nivel: 1 palabra horizontal y 1 palabra vertical.
o Segundo nivel: 2 palabras horizontales y 3 verticales.
o Tercer nivel: 3 palabras horizontales y 3 verticales.
o Cuarto nivel: 5 palabras horizontales y 4 verticales.
o Nivel Final: 7 palabras horizontales y 5 verticales.

El juego debe permitir tener una pista por nivel, dicha pistas se deben
guardar en un arreglo: las pistas consisten en frases alusivas o pequeñas
descripciones sobre una palabra, el usuario podrá escoger a cuál palabra
aplicar la pista.
• Las palabras no deben repetirse.


Para una idea más clara creo, lo que debo realizar es esto.
Bien, para las matrices de las palabras, guardo en una la palabra ordenada y en otra la palabra desordenada. Y con esas variables que maso menos expliqué arriba trato de comparar las palabras para así cambiarlas e imprimirlas cuando la palabra sea correcta






(No se puede continuar esta discusión porque tiene más de dos meses de antigüedad. Si tienes dudas parecidas, abre un nuevo hilo.)