Código Java – Evaluación(Asistencia, Nota, Promedio)

import java.util.Scanner;

public class Leer {
    private static Scanner scanner = new Scanner(System.in);

    public static int datoInt() {
        int dato = 0;
        try {
            dato = scanner.nextInt();
        } catch (Exception e) {
            System.out.println("Error al leer el dato. Intente nuevamente.");
            scanner.nextLine(); // Limpiar el búfer de entrada
            dato = datoInt(); // Llamar recursivamente para volver a intentar la lectura
        }
        return dato;
    }
}
// Codificado por: Beastieux
// Utilizando el método Leer
public class SyGEvaluacion {
    static int[] ingresar(int[] Vector, String cad) {
        int h = 0;
        for (int i = 0; i < Vector.length; i++) {
            System.out.print("Ingresar " + cad + ":\t");
            h = Leer.datoInt();
            System.out.println("");
            Vector[i] = h;
        }
        return Vector;
    }

    static void imprimir(int[] Temp) {
        for (int i = 0; i < Temp.length; i++) {
            System.out.println(Temp[i]);
        }
    }

    static void pPresente(int[] A) {
        int c = 0;
        for (int i = 0; i < A.length; i++) {
            if (A[i] == 1)
                c++;
        }
        System.out.println("La cantidad de alumnos presentes es :" + c);
        System.out.println("El porcentaje de alumnos presentes es :" + ((c * 100) / (A.length)) + "%");
    }

    static void promedio(int[] N, int[] A) {
        int sum = 0, c = 0;
        double prom = 0;
        for (int i = 0; i < A.length; i++) {
            if (A[i] == 1) {
                c++;
                sum = sum + (N[i]);
            }
        }
        prom = sum / c;
        System.out.println("El promedio de los " + c + " alumnos presentes es :" + prom);
    }

    static void aAprobados(int[] N, int[] A) {
        int ca = 0, cp = 0;

        for (int i = 0; i < A.length; i++) {
            if (A[i] == 1) {
                cp++;
                if (N[i] > 5) {
                    ca++;
                }
            }
        }

        System.out.println("El porcentaje de alumnos prest. y aproba. es :" + ((ca * 100) / (cp)) + "%");
    }

    static void mayor(int[] C, int[] N, int[] A) {
        int may = 0, i = 0;

        for (i = 0; i < N.length; i++) {
            if (A[i] == 1) {
                if (N[i] > may)
                    may = N[i];
            }
        }
        for (i = 0; i < N.length; i++) {
            if (may == N[i] && A[i] == 1)
                System.out.println("Codigo : " + C[i] + " y su Nota : " + N[i]);
        }
    }

    public static void main(String args[]) {
        int max = 0;
        do {
            System.out.print("Cuantos registros desea ingresar :\t");
            max = Leer.datoInt();
            System.out.println("");
            if (max < 1)
                System.out.println("¿Acaso quieres engañar a la maquina?, Ingrese un valor válido!!");
        } while (max < 1);
        int[] Codigo = new int[max];
        int[] Asistencia = new int[max];
        int[] Nota = new int[max];
        System.out.println("----------------------------------------");
        ingresar(Codigo, "codigo [0001 - 9999]");

        System.out.println("----------------------------------------");
        ingresar(Asistencia, "asistencia [1. Presente] [0. Ausente]  ");

        System.out.println("----------------------------------------");
        ingresar(Nota, "nota [00 - 20]");

        System.out.println("----------------------------------------");
        System.out.println("-------------  REPORTE  ----------------");
        pPresente(Asistencia);
        promedio(Nota, Asistencia);
        aAprobados(Nota, Asistencia);
        mayor(Codigo, Nota, Asistencia);
        System.out.println("----------------------------------------");
    }
}

Pueder ir al artículo principal:

Códigos Sencillos hechos en Java

7 thoughts on “Código Java – Evaluación(Asistencia, Nota, Promedio)

  1. Para leer creen una class llamada Leer y la importa al main usando import NombreDelProyecto.Leer;
    —————————————————————————————————–
    Leer.java
    import java.io.*;

    public class Leer {

    public static String dato() {
    String sdato = ” “;
    try {
    InputStreamReader isr = new InputStreamReader(System.in);
    BufferedReader flujoE = new BufferedReader(isr);
    sdato = flujoE.readLine();
    } catch (IOException e) {
    System.out.println(“Error ” + e.getMessage());
    }
    return sdato;

    }

    public static int datoInt() {
    return Integer.parseInt(dato());
    }

    public static float datoFloat() {
    return Float.parseFloat(dato());
    }
    // Leer un char por teclado
    public static char datoChar() {
    char c = ‘ ‘;
    try {
    java.io.BufferedInputStream b = new BufferedInputStream(System.in);
    c = (char) b.read();
    } catch (IOException e) {
    System.out.println(“Error al leer”);
    e.printStackTrace();
    }
    return c;
    }
    public static long datoLong() {
    return Long.parseLong(dato());
    }
    }

  2. Me marca un error en el metodo Leer, me marca el siguiente error:
    Exception in thread “main” java.lang.Error: Unresolved compilation problem:
    Leer cannot be resolved

    at evaluacion.SyGEvaluacion.main(SyGEvaluacion.java:96)

    Soy nuevo en Java, ojala pudieras explicarme de que se trata este error y como resolverlo

    Desde ya, muchas gracias!!

Deja un comentario