Foros del Web » Programación para mayores de 30 ;) » Java »

¿Hay alguna forma más óptima de hacer este programa?

Estas en el tema de ¿Hay alguna forma más óptima de hacer este programa? en el foro de Java en Foros del Web. El ejercicio consta de dibujar un rombo con n de tamaño (el usuario introduce el tamaño, debe ser un número impar), usando ciclos for. Mi ...
  #1 (permalink)  
Antiguo 17/04/2012, 08:37
 
Fecha de Ingreso: abril-2011
Mensajes: 224
Antigüedad: 13 años
Puntos: 8
¿Hay alguna forma más óptima de hacer este programa?

El ejercicio consta de dibujar un rombo con n de tamaño (el usuario introduce el tamaño, debe ser un número impar), usando ciclos for. Mi código es el siguiente:

Código Java:
Ver original
  1. import java.util.Scanner;
  2.  
  3. public class Rombo
  4. {
  5.     public static void main(String args[])
  6.     {
  7.         Scanner entrada = new Scanner(System.in);
  8.         int tamanio;
  9.         int t = 1;
  10.         int z;
  11.        
  12.         System.out.print("Escriba el tamaño del rombo (impar, entre 3-29): ");
  13.         tamanio = entrada.nextInt();
  14.         z = tamanio - 2;
  15.        
  16.         System.out.println();
  17.        
  18.         for(int x = tamanio/2; x >= 0; x--)
  19.         {
  20.             for(int y = x; y >= 0; y--)
  21.             {
  22.                 System.out.print(" ");
  23.             }
  24.            
  25.             for(int y = 1; y <= t; y++)
  26.             {
  27.                 System.out.print("*");
  28.             }
  29.            
  30.             System.out.println();
  31.             t+=2;
  32.         }
  33.        
  34.         for(int x = 1; x <= tamanio/2; x++)
  35.         {
  36.             for(int y = 0; y <= x; y++)
  37.             {
  38.                 System.out.print(" ");
  39.             }
  40.            
  41.             for(int y = z; y >= 1; y--)
  42.             {
  43.                 System.out.print("*");
  44.             }
  45.             z -= 2;
  46.             System.out.println();
  47.         }
  48.     }
  49. }
  #2 (permalink)  
Antiguo 17/04/2012, 08:53
Avatar de Fuzzylog  
Fecha de Ingreso: agosto-2008
Ubicación: En internet
Mensajes: 2.511
Antigüedad: 15 años, 8 meses
Puntos: 188
Respuesta: ¿Hay alguna forma más óptima de hacer este programa?

¿Y has probado a ver que pasa cuando el usuario es un manazas, o un cabroncete, y escribe cualquier cosa que no sea un número? :P

Try to catch it :D
__________________
if (fuzzy && smooth) {
fuzzylog = "c00l";
return true;
}
  #3 (permalink)  
Antiguo 17/04/2012, 09:13
 
Fecha de Ingreso: abril-2011
Mensajes: 224
Antigüedad: 13 años
Puntos: 8
Respuesta: ¿Hay alguna forma más óptima de hacer este programa?

Cita:
Iniciado por Fuzzylog Ver Mensaje
¿Y has probado a ver que pasa cuando el usuario es un manazas, o un cabroncete, y escribe cualquier cosa que no sea un número? :P

Try to catch it :D
Jaja, no hice la verificación por pereza, y porque es un simple ejercicio que se me complicó un poco (pero ahora ya lo veo fácil). En cuanto al modo de funcionar del programa, ¿sí está bien así, o hice la peor aberración de código del mundo y merezco la hoguera ?

Saludos. :)
  #4 (permalink)  
Antiguo 17/04/2012, 10:34
Avatar de FiruzzZ  
Fecha de Ingreso: diciembre-2007
Ubicación: en casa
Mensajes: 470
Antigüedad: 16 años, 4 meses
Puntos: 41
Respuesta: ¿Hay alguna forma más óptima de hacer este programa?

Es muy simple el programa como para evaluar factores de calidad de código, no hay uso de patrones de diseño, no se aplica la POO, legibilidad? escalabilidad? portabilidad? and so on.... ¿no te parece?
__________________
BadProgrammerException!
  #5 (permalink)  
Antiguo 17/04/2012, 11:10
 
Fecha de Ingreso: abril-2011
Mensajes: 224
Antigüedad: 13 años
Puntos: 8
Respuesta: ¿Hay alguna forma más óptima de hacer este programa?

Más que nada es si podría usar menos ciclos for xD

Etiquetas: ciclos, ejercicio, optimo, rombo
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 14:17.