Recientemente encontré una solicitud interesante de un estudiante de Java en uno de los foros que leí. Se le pidió a su clase que usara un bucle for para extraer un diamante de los asteriscos (*). Tenía una solución correcta y funcional, pero había sido marcada porque era demasiado complicada y presentaba varios bucles. El alumno solicitó sugerencias sobre formas más fáciles de lograr el mismo resultado. Pensé que este era un problema interesante y decidí probarlo. Mi programa está debajo (o puede descargar una copia aquí.) Esto claramente no es un código de producción, por un lado, aunque me encanta la simplicidad del operador?: Trato de no usarlo en el código de producción porque muchos los programadores descubren que hace que sea más difícil de leer y comprender. Sin mencionar, este código se romperá si
anchura máxima se cambia a un número mayor que 46. Pero es un ejemplo de un método bastante compacto y lógico para lograr el resultado deseado. ¿Puedes hacerlo mejor? Informar de nuevo en nuestro foro.
/*
* diamonds.java
*
* Creado el 4 de junio de 2007, 11:39 p.m.
*/
/**
*
* @autor Julie Baumler
*/
diamantes de clase pública {
/ ** Crea una nueva instancia de diamantes * /
diamantes públicos () {
}
/**
* @param argumenta los argumentos de la línea de comando
*/
public static void main (String [] args) {
int max_width = 9; // # de caracteres de ancho para hacer diamantes
int ancho = max_width% 2 == 0? max_width / 2: max_width / 2 +1;
Cadena de estrellas = "********************************************** ";
Espacios de cadena = "";
para (int i = 1; i <(ancho * 2); i ++) {
System.out.print (espacios.substring (0, (i
System.out.println (stars.substring (0,2 * (i <= ancho? I: ancho- (i% ancho)) - 1));
}
}
}
La solicitud original:
Pinimo "Ayúdame con Java (sic)". Publicación en línea. Semana del 13 de mayo de 2007. Java Discussion (Forum). 4 de junio de 2007.
Instrucciones De Vídeo: Java Netbeans - Dibujar Figuras en Java (Abril 2024).