Autor Tema: Repaso arrays o arreglos unidimensionales en Java. Ejemplos de código (CU00903C)  (Leído 3318 veces)

HumbertoAli

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 21
    • Ver Perfil
Buenas, acá les dejo mis códigos del ejercicio planteado. Cualquier observación sera bien recibida.


EJERCICIO

Crea un programa en el que se pida por consola el nombre de 2 alumnos y la nota de cada uno de ellos como valor numérico. El resultado que debe mostrarse es el nombre de cada alumno, su nota y su calificación como texto (Sobresaliente, Notable, Bien o Suspenso).

Para ello crea un array numérico y otro de String (ambos unidimensionales). En el array numérico se insertarán las calificaciones facilitadas por el usuario entre 0 y 10 (debemos controlar que inserte una nota valida), pudiendo ser decimal. En el array de Strings se insertarán los nombres de los alumnos.

Crea también un array de String donde insertaremos el resultado de la nota con palabras admitiéndose estos valores: Sobresaliente, Notable, Bien o Suspenso.

El programa debe comprobar la nota de cada alumno teniendo en cuenta esta equivalencia:

Si la nota está entre 0 y 4,99 será un Suspenso.

Si la nota está entre 5 y 6,99 será un Bien.

Si la nota está entre 7 y 8,99 será un Notable.

Si la nota está entre 9 y 10 será un Sobresaliente.

 

Muestra por pantalla, el alumno su nota y su resultado en palabras utilizando bucles. Crea los métodos que creas convenientes.

Clase Calificaciones
Código: [Seleccionar]
import java.util.*;/**
 *
 * @author baseuser
 */
public class Calificaciones {
    private double [] calificaciones;
    private String [] nombres;
    private String [] equivalencia;
    public Calificaciones(){
        calificaciones = new double[2];
        nombres = new String [2];
        equivalencia = new String [2];
       
    }
    public void insertarCalificaciones(){
        Scanner sc = new Scanner(System.in);
        String n;
        double cali;
        for(int i = 0; i < 2; i++){
            System.out.print("Introduzca un nombre: ");
            n = sc.next();
            nombres[i] = n;
            System.out.print("Calificacion: ");
            cali = sc.nextDouble();
            calificaciones[i] = cali;
            if(cali >= 0 && cali <= 4.99){
                equivalencia[i] = "Suspenso";
            }
            else if(cali >= 5 && cali <= 6.99){
                equivalencia[i] = "Bien";
            }else if(cali >= 7 && cali <= 8.99){
                equivalencia[i] = "Notable";
            }else if(cali >= 9 && cali <= 10){
                equivalencia [i] = "Sobresaliente";
            }
           
        }
    }
    public void mostrarDatos(){
        System.out.println("CALIFICACIONES");
        for(int i = 0; i < 2; i++){
            System.out.println(("Nombre: ")+nombres[i]+" nota: "+calificaciones[i]+" "+equivalencia[i]);
        }
    }
}

la clase TestPrograma
Código: [Seleccionar]
import java.util.*;/**
 *
 * @author baseuser
 */
public class TestArrayNumerico {
    public static void main(String[]args){
        Calificaciones notas = new Calificaciones();
        System.out.println("Por favor, inserte el nombre y la nota de 2 alumnos...");
        notas.insertarCalificaciones();
        notas.mostrarDatos();
    }
   
}

HumbertoAli

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 21
    • Ver Perfil
disculpa, le hice algunas modificaciones a el método insertarCalificaciones...
Código: [Seleccionar]
public void insertarCalificaciones(){
        Scanner sc = new Scanner(System.in);
        for(int i = 0; i < nombres.length; i++){
           
            System.out.print("Introduzca un nombre: ");
            nombres[i] = sc.nextLine();
            System.out.print("Calificacion: ");
            calificaciones[i] = sc.nextDouble();
            sc.nextLine();//limpiar el buffer
            if(calificaciones[i] >= 0 && calificaciones[i] <= 4.99){
                equivalencia[i] = "Suspenso";
            }
            else if(calificaciones[i] >= 5 && calificaciones[i] <= 6.99){
                equivalencia[i] = "Bien";
            }else if(calificaciones[i] >= 7 && calificaciones[i] <= 8.99){
                equivalencia[i] = "Notable";
            }else if(calificaciones[i] >= 9 && calificaciones[i] <= 10){
                equivalencia [i] = "Sobresaliente";
            }
           
        }
    }

Ogramar

  • Moderador Global
  • Experto
  • *******
  • Mensajes: 2662
    • Ver Perfil
Buenas HumbertoAli, en la entrega CUU00903C hay dos ejercicios y falta el primero, es conveniente poner siempre todos los ejercicios de una entrega juntos en el mismo hilo del foro.

El programa funciona correctamente y cumple con lo que se pedía

Te indico como mejorable que cuando trabajas con programación orientada a objetos tienes que poner nombres adecuados a las clases, pensando en qué representa o qué función tiene una clase. Un nombre de clase como Calificaciones no lo veo del todo adecuado, pues la clase no representa simplemente calificaciones, sino que hace algo más amplio. Un nombre como GestorCalificaciones creo que sería más adecuado.

Salu2

 

Sobre la educación, sólo puedo decir que es el tema más importante en el que nosotros, como pueblo, debemos involucrarnos.

Abraham Lincoln (1808-1865) Presidente estadounidense.

aprenderaprogramar.com: Desde 2006 comprometidos con la didáctica y divulgación de la programación

Preguntas y respuestas

¿Cómo establecer o cambiar la imagen asociada (avatar) de usuario?
  1. Inicia sesión con tu nombre de usuario y contraseña.
  2. Pulsa en perfil --> perfil del foro
  3. Elige la imagen personalizada que quieras usar. Puedes escogerla de una galería de imágenes o subirla desde tu ordenador.
  4. En la parte final de la página pulsa el botón "cambiar perfil".