Hola a todos, bueno ya estamos de nuevo aquí para realizar nuestro esperado comentario sobre la Práctica-8, que espero que os sirva de ayuda.

Esta práctica se divide en tres ejercicios en el que se ha asignado un tiempo “orientativo” para cada uno…(je,je), vamos al grano.

 

Ejercicio_1.

Nos piden utilizar una tabla HasthTable para introducir unos datos ( trucos) y poder sacarlos por pantalla, nos dice que debe poder almacenar hasta diez, en nuestro método podemos introducir todos los trucos que queramos, sin límite, a continuación mostramos nuestro código, que permite introducir todos los trucos que deseemos y nos imprimirá en pantalla el truco ( sin límite “memoria dinámica”).

 

public static void main (String args[]) {

  Hashtable ht = new Hashtable();
  int puntero=0;
  int tamaño = ( (args.length) /2);
 

 

// Insertamos los valores en la colección.

for (int i=0; i<tamaño; i++) {
String clave = (String) args [puntero];
String valor = (String) args [puntero+1];
ht.put (clave,valor);
// imprimimos los valores
String D = (String) ht.get (clave);
System.out.println (D);
puntero +=2;

}             
}


Podríamos usar otras estructuras de datos como la clases Vector, Stack; pero HasthTable tiene una gran ventaja y es la posibilidad de acceder a un dato concreto a través de su clave sin necesidad de tener que recorrer toda la estructura ( o al menos para nosotros este recorrido está oculto).

 

Ejercicio_2

El ejercicio 2 no merece más comentario, analizamos el código de cada método que usa recursividad intentando averiguar que es lo que va a hacer, si alguien tiene algún problema con alguno en concreto que nos lo diga y lo intentamos explicar.

 

Ejercicio_3

Este ejercicio está muy chulo en nuestro método, si completa una fila, escribiría “Línea completa”, si encuentra una celda sin pintar escribiría “línea incompleta” y pasaría a la siguiente fila, (no seguiría comprobando las siguientes celdas de la fila);  al llegar a la última fila vuelve a empezar por el principio, claro, para que funcione deberíamos tener el array pintado, pero creo que funcionaría, haber si el profe le da un vistazo y nos da su opinión (seguro que se puede hacer mucho mejor)…..y para muestra un botón.

 

char tablero [][]=new char[10][7];
public void recorrerColumna (int a,int b){

if (a<10){

if (tablero[a][b]!= null && b<7 ){
System.out.print (“0″);

if (b==6){
System.out.print (” Linea completa \n”);
recorrerColumna (a+1,0);
}
else
recorrerColumna (a,b+1);

}
else{
System.out.print (” Linea incompleta \n”);
recorrerColumna (a+1,0);
}

}
else
recorrerColumna (0,0);

}