Eclipse - Necesito ayuda para un trabajo

 
Vista:

Necesito ayuda para un trabajo

Publicado por Hmmmm (1 intervención) el 22/10/2022 02:32:13
Escribir un programa en java (utilizando el IDE Eclipse y que se ejecute en consola) que pida el ingreso del nombre de estudiantes y la nota en Programación 1. Para este caso en particular supondremos que como máximo se cargarán 10 estudiantes

__ ü Si el nombre ingresado está en blanco dejará de pedir notas.

__ ü Si no se ingresó ningún nombre, el programa se despedirá agradeciendo el uso del mismo

__ ü Se debe validar que la nota ingresada esté entre 1 y 12, y el programa pedirá que se vuelva a ingresar hasta que sea una nota dentro de ese rango.

Una vez terminado de cargar los datos el programa graficará las notas con un gráfico de barras, comparando la nota de los estudiantes.

//
Capas para muchos sera facil, recien ando entrando en este mundo de la programacion y intente muchas veces intentar hacer algo con esto
pero no pude.
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
Imágen de perfil de Kabuto
Val: 3
Ha mantenido su posición en Eclipse (en relación al último mes)
Gráfica de Eclipse

Necesito ayuda para un trabajo

Publicado por Kabuto (14 intervenciones) el 23/10/2022 01:13:59
Hay que pedir hasta 10 nombres String y 10 notas de tipo int.
Usaremos dos arreglos, uno para nombres y otro para las notas.

Al pedir los nombres, podemos saber si NO ha introducido NADA con el método isEmpty() que posee la clase String.
En este caso, el programa termina con una despedida.

Podemos saber si el nombre está en blanco, es decir, si solo ha introducido espacios en blanco..., usando el método isBlank() que posee la clase String.
En este caso, dejamos de pedir nombres y mostramos el gráfico con los datos que tengamos.

Sobre el gráfico, la verdad no se como esperan que lo hagamos. La consola de Java no permite hacer nada que no sea texto.

Podemos hacer filas de asteriscos. Según el valor de la nota, tendrá más o menos asteriscos.

Este podría ser el código:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
public class NotasGrafico {
 
	public static void main(String[] args) {
		Scanner teclado = new Scanner(System.in);
		String[] nombres = new String[10];
		int[] notas = new int[10];
 
		System.out.println("\n\t\tREGISTRO DE NOTAS PROGRAMACION");
		for (int i = 0; i < 10; i++) {
			System.out.print("\nNombre: ");
			String nombre = teclado.nextLine();
 
			if (nombre.isEmpty()) { //Cerramos el programa
				System.out.println("\nGracias por usar nuestros sistemas.");
				System.out.println("\t\tFIN DE PROGRAMA"); //Despedida
				System.exit(0); //Ponemos fin al progama
			}
 
			if (nombre.isBlank()) //Dejamos de pedir notas
				break; //Para ello, "rompemos" el bucle
 
 
			//Parece que SÍ tenemos un nombre.
			nombres[i] = nombre; //Lo guardamos
			//Pedimos nota
			int nota = 0;
			while (nota < 1 || nota > 12) { //Repetimos hasta que la nota sea valida
				System.out.print("Nota: ");
				nota = Integer.parseInt(teclado.nextLine());
			}
			notas[i] = nota; //La guardamos
		}
 
 
		/*
		 * Proceso de registro de notas terminado, ahora construimos un gráfico.
		 * Para ello volvemos a recorrer los arreglos para consultar los datos introducidos
		 * Puede que tengamos menos de 10 alumnos registrados, podemos saberlo comprobando
		 * si el arreglo de nombres contiene valores null.
		 */
		System.out.println("\n\t\t\tCOMPARATIVA DE NOTAS\n");
		if (nombres[0] == null) //Puede incluso que tengamos 0 alumnos
			System.out.println("\t---No hay alumnos registrados");
		else {
			System.out.println("\t\t\tNOMBRE\tPUNTUACION");
			System.out.println("\t\t\t------\t----------");
			for (int i = 0; i < 10 && nombres[i] != null; i++) {//Bucle se repite 10 veces o hasta encontrar un null
				System.out.printf("\n%30s\t", nombres[i]);//Nombres siempre ocupan 30 columnas
				for (int j = 0; j < notas[i]; j++) //Valor de la nota decide el tamaño de la barra
					System.out.print('*');
			}
		}
 
		teclado.close();
	}
}


Y en pantalla nos daría este resultado:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
REGISTRO DE NOTAS PROGRAMACION
 
Nombre: Alicia Aloy
Nota: 9
 
Nombre: Luis Salvat
Nota: 0
Nota: 4
 
Nombre: Felipe Moreno
Nota: 5
 
Nombre: Jorge Morales
Nota: 8
 
Nombre: Sara Pelaez
Nota: 12
 
Nombre: Laura Juan
Nota: 10
 
Nombre: GuadaLupe Blanco
Nota: 6
 
Nombre:
 
						COMPARATIVA DE NOTAS
 
						NOMBRE	PUNTUACION
						------	----------
 
                   Alicia Aloy	*********
                   Luis Salvat	****
                 Felipe Moreno	*****
                 Jorge Morales	********
                   Sara Pelaez	************
                    Laura Juan	**********
              GuadaLupe Blanco	******


Revísa y comprueba que entiendes lo que hace cada línea.
No dudes en preguntar lo que necesites.

Un saludo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar