Java - Histograma Vertical

 
Vista:

Histograma Vertical

Publicado por laura (2 intervenciones) el 08/11/2022 01:29:46
Estamos planteando el desarrollo de una aplicación para simular la generación de un histograma por consola, donde automáticamente se genere una especie de gráfico con diferentes símbolos.

Escribe un programa en Java que solicite al usuario un número filas que deseemos que tenga el programa. Este número deberá ser mayor o igual que 12 (el programa no debe avanzar si se introduce un número inferior a 12, seguirá pidiendo un número igual o superior a 12 hasta que introduzca un valor válido). Posteriormente, ajustaremos dicho número de filas introducido para que sea el mayor número múltiplo de 4. Es decir, si obtenemos un número que no es múltiplo de 4, debemos ajustarlo al múltiplo menor más próximo, por ejemplo:

si introducimos el 13, se ajustará a 12.
si introducimos el 15, se ajustará a 12.
si introducimos el 16, se ajustará a 16.
si introducimos el 31, se ajustará a 28.
etc.
Una vez resuelto el número de filas que tendrá nuestro histograma debemos aplicar el número máximo de símbolos que tendrá cada fila, para ellos calcularemos la mitad del número de filas que tengamos.

Para generar el histograma, seguiremos la secuencia de símbolos siguiente:

Símbolo: *
Símbolo: #
Símbolo: @
Símbolo: >
Es decir, la primera fila presentará "*" (asteriscos), la segunda fila presentará "#"(almohadillas), la tercera fila presentará "@" (arroba), la cuarta fila presentará ">" (mayor que), la quinta fila presentará nuevamente "*" (asteriscos), la sexta fila presentará nuevamente "#"(almohadillas) y así sucesivamente hasta el número de filas que le hayamos indicado inicialmente por teclado.

Para cada fila se deben incluir tantos símbolos del mismo tipo como se generen automáticamente para cada fila (entre 3 y la mitad del número máximo de filas, número máximo de símbolos calculado al principio) . Es decir, en cada fila imprimiremos tantos símbolos como nos indique un número generado automáticamente (para cada fila), que estará comprendido entre 3 y la mitad del número de filas que tenga finalmente nuestro histograma, como antes se ha comentado

Cada cuatro filas, es decir, cuando se termine cada iteración con 4 símbolos se debe imprimir por pantalla una línea de guiones como se ve en los ejemplos de ejecución.

Se valorará el uso del tipo de bucle más apropiado en cada caso.
Como siempre, se valorará que se minimice el número de líneas.
El código deberá incluir diferentes tipos de comentarios internos tanto de una línea como multilínea (los comentarios JavaDoc no son necesarios).
Debes utilizar bucles anidados.
Recuerda que para obtener un número aleatorio utilizamos la clase Random, para ello definimos un objeto de esta clase Random aleatorio =new Random(); , y posteriormente se utiliza el método aleatorio.nextInt() o aleatorio.nextInt(int límite). El primero de ellos entre 0 y 232, y el segundo entre 0 y el límite -1.

Ejemplo:

Random aleatorio =new Random();

int numAleatorio=aleatorio.nextInt(20); // Genera un número entre 0 y 19.

numAleatorio=1 + aleatorio.nextInt(20) // Genera un número entre 1 y 20.

Ejemplos de ejecución
Ejemplo 1, con 14 filas de las que se generan 12 finalmente.


Ejercicio 4. Histograma
----------------------------------------------------
Introduce el número de filas del histograma (Mayor que 12)
14

RESULTADO
---------
El histograma va a presentar 12 filas.
--------------------------------------------
*****
####
@@@@@
>>>>>
--------------------------------------------
****
#####
@@@@
>>>>
--------------------------------------------
***
#####
@@@@@
>>>>>
--------------------------------------------
Ejemplo 2, con 19 filas de las que se generan 16 finalmente.


Ejercicio 4. Histograma
----------------------------------------------------
Introduce el número de filas del histograma (Mayor que 12)
19

RESULTADO
---------
El histograma va a presentar 16 filas.
--------------------------------------------
*****
#####
@@@@@
>>>>>
--------------------------------------------
****
######
@@@@
>>>>>
--------------------------------------------
***
###
@@@@@
>>>
--------------------------------------------
***
######
@@@@
>>>>>>>
--------------------------------------------
Ejemplo 3, con 20 filas de las que se generan 20 finalmente.


Ejercicio 4. Histograma
----------------------------------------------------
Introduce el número de filas del histograma (Mayor que 12)
20

RESULTADO
---------
El histograma va a presentar 20 filas.
--------------------------------------------
*******
#######
@@@@@@
>>>>>>>
--------------------------------------------
*********
######
@@@@
>>>
--------------------------------------------
*********
########
@@@@@@@
>>>>>>>
--------------------------------------------
****
#########
@@@@@
>>>>>>
--------------------------------------------
********
########
@@@@
>>>>>>>>
--------------------------------------------



como paso todo esto a codigo en java??
muchas gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder