2
« en: 06 de Octubre 2018, 23:26 »
La verdad llevo días dandole vueltas a este ejercicio sobre dibujar en un lienzo de caracteres en Java, y estoy atascada, he estado buscando informacion sobre Point en java pero es poco, por ejemplo yo puse el código con una matriz haciendo de lienzo... pero ahora ya estoy viendo que no es buena idea que sea de booleanos,estoy liada, no sé, es posible crear un lienzo vacio representado por guiones a partir de dos Point? y recorrerlos con bucles o algo así? es que la informacion que encuento es muy escasa...agradecería que alguien me guiase(disculpadme si no posteo en el lugar correcto aunque creo que si lo hice)
ENUNCIADO DEL EJERCICIO
Dados los siguientes recursos de JavaEE: clases java (normales, abstractas, interfaces), sobrecargas, herencia, sobrescritura, colecciones, polimorfismo, excepciones, javadoc...
Utiliza libremente los recursos que creas conveniente para estructurar la solución al siguiente problema:
Necesitamos poder imprimir en consola un lienzo de 60x30 caracteres (por defecto), en el que una celda vacía es representada por "-" y una rellena por "#" (por defecto). En este lienzo deseamos pintar figuras geométricas. De momento sólo necesitamos pintar rectángulos, pero sabemos que en un futuro podríamos necesitar incluir nuevas figuras. Los rectángulos pueden estar en cualquier posición del lienzo y de cualquier tamaño, siendo un rectángulo de especial interés el cuadrado.
Tras programar las clases oportunas en sus respectivos .java, debemos poder desde el método main() usando poco código: preparar un lienzo, añadir y eliminar figuras de este, e imprimirlo. Ejemplo de salida (ignora el hecho de que un cuadrado puede verse rectangular en la consola, según la fuente elegida):
/*
To change this license header, choose License Headers in Project Properties.
To change this template file, choose Tools | Templates
and open the template in the editor.
*/
package EjercicioExamen;
/**
@author ana
*/
public class Pinta
{
/**
@param args the command line arguments
*/
public static void main(String[] args)
{
char inputChar = '-';
// Primero creamos nuestra matriz
boolean[][] islleno = new boolean [30][60];
// Ahora instanciamos un entero para
// poder agregarle valores a la matriz.
int n=0;
// Este ciclo anidado nos funciona
// para agregarle valores a la matriz.
for (int x = 0; x < islleno.length;x++) {
for (int y = 0; y < islleno[x].length; y++) {
n++;
islleno[x][y] = ((inputChar=='#'));
// System.out.println(""+islleno[x][y]);
}
}
// Este ciclo anidado nos permite pintar
// la matriz en consola.
for (int x = 0; x < islleno.length;x++) {
for (int y = 0; y < islleno[x].length; y++) {
if(islleno[x][y] = (inputChar=='#'))
{
System.out.print(inputChar);
}else{
inputChar='-';
System.out.print(inputChar);
}
// System.out.print("["+islleno[x][y]+"]");
}
System.out.println();
}
// Por ultimo solo pintamos las filas y
// columnas de nuestra matriz.
System.out.println("Número de fila: "+islleno.length);
System.out.println("Número de columnas: "+islleno[0].length);
}
}