domingo, 31 de octubre de 2010

Deitel_Java_4.32 (Impresión de un Tablero de Ajedrez en Java)

4.32 Escriba una aplicación que utilice sólo las instrucciones de salida
System.out.print("* ");
System.out.print(" ");
System.out.println();
para mostrar un patrón de tablero de damas. Observe que una llamada al método System.out.println sin argumentos hace que el programa imprima un slo carácter de nueva línea. [Sugerencia: se requieren estructuras de repetición]
_____________________________________________________________________________________
Solución:
El siguiente código debe guardarse con el nombre Prueba_Ejercicio4_32.java

public class Prueba_Ejercicio4_32

{ // Abre clase Prueba_Ejercicio4_32
public static void main(String args[])
{ // Abre main
Ejercicio4_32 miObjeto = new Ejercicio4_32(2);

miObjeto.Imprime();

} // Cierra main
} // Cierra clase Prueba_Ejercicio4_32

El siguiente programa debe guardarse con el nombre Ejercicio4_32.java

public class Ejercicio4_32

{ // Abre la clase Ejercicio4_32
private String cadena;
private int numero; // Este numero es solo para iniciar los objetos
////////////////////////////////////////////////////////////////////////
//CONSTRUCTOR
////////////////////////////////////////////////////////////////////////

public Ejercicio4_32 ( int x)
{ // Abre constructor
numero = x;
} // Cierra constructor

/////////////////////////////////////////////////////////////////////////
//METODO IMPRIME
/////////////////////////////////////////////////////////////////////////

public void Imprime()
{ // Abre metodo Imprime

System.out.println("\nSe imprime a continuacion un tablero de damas: ");

// El metodo para imprimir el tablero consiste en dos ciclos while
// uno que controla las columnas, 8, y otro que controla los renglones(8)
// Para especificar si se empieza con un cuadro en blanco o con un *
// se usa el hecho de si el renglon es par o impar

int contadorHorizontal = 1;
int contadorVertical = 1;
int TAMANO = 8;

while ( contadorVertical <= TAMANO )
{ // Abre while
contadorHorizontal = 1;
while (contadorHorizontal <= TAMANO)
{ // Abre while anidado
if( 0 == contadorVertical % 2 )
System.out.print("* ");
else
System.out.print(" *");

contadorHorizontal++;
} // Cierra while anidado
System.out.print("\n");
contadorVertical++;
} // Cierra while

} // Cierra metodo Imprime

} // Cierra la clase Ejercicio4_32

_____________________________________________________________________________________
Esta entrada es parte de los problemas resueltos del libro Java. Cómo Prgramar de P. Deitel y H. Deitel
Entrada Anterior
Entrada Siguiente

5 comentarios:

  1. No sabia que esta instruccion: System.out.print(" *"); era valida.

    ResponderEliminar
    Respuestas
    1. No sé exactamente a qué te refieres, pero sí es una instrucción válida, tanto en el lenguaje como en el programa.

      Eliminar
  2. Hola!! Gracias por tus aportes. Comparto mi código:

    package ejercicios;

    public class PatronDeAsteriscosTableroDeDamas4_32
    {

    public static void main(String[] args)
    {
    int lineas = 1;
    int cantidad = 0;

    while (cantidad < 8)
    {
    if (lineas % 2 != 0)
    {
    System.out.print("* ");System.out.print("* ");System.out.print("* ");System.out.print("* ");System.out.print("* ");System.out.print("* ");System.out.print("* ");System.out.print("* ");
    System.out.println();
    }

    else
    {
    System.out.print(" ");System.out.print("* ");System.out.print("* ");System.out.print("* ");System.out.print("* ");System.out.print("* ");System.out.print("* ");System.out.print("* ");System.out.print("* ");
    System.out.println();
    }

    lineas++;
    cantidad++;
    }
    }
    }

    ResponderEliminar
  3. Hola!!! Analizando la perspectiva de alguien más, volví a hacer el programa razonando de otra manera. Comparto mi código, aclarando que cumple con las restricciones del enunciado:

    package ejercicios;

    public class PatronDeAsteriscosTableroDeDamas4_32Opcion3
    {
    public static void main(String[] args)
    {
    int fila = 1;
    int columna = 1;
    int cantidad = 9;

    while (fila < cantidad)
    {
    columna = 1;

    if (fila % 2 != 0)
    {
    while (columna < cantidad)
    {
    System.out.print("* ");
    columna++;
    }
    System.out.println();
    }

    else
    {
    System.out.print(" ");
    while (columna < cantidad)
    {
    System.out.print("* ");
    columna++;
    }
    System.out.println();
    }

    fila++;

    }
    }
    }

    ResponderEliminar
  4. Hola, les comparto mi código.
    public class Tablero {

    public static void main(String[] args) {

    int numeroTablero = 1;

    while (numeroTablero <= 4) {

    int contador = 1;
    while (contador <= 8 ) {

    System.out.print( "* " );

    if (contador == 8) {
    System.out.println();
    System.out.print( " " );

    int contador2 = 1;
    while (contador2 <= 8 ) {

    System.out.print( "* " );

    if (contador2 == 8 ) {

    System.out.println();

    }

    contador2++;

    }

    }

    contador++;
    }

    numeroTablero++;
    }

    }/*FIN DEL METODO VOID */

    }/* FIN DE LA CLASE */

    ResponderEliminar

Related Posts Plugin for WordPress, Blogger...