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
yo solo coloque
Scanner Leer=new Scanner(System.in);
//y cambie dato por next//
h=Leer.nextInt();
hay que crear la clase Leer e importar, pero aun así
marca error, ,, gracias de todos modos.
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());
}
}
lo que dijeron ellos x3
lo que dijeron ellos x2
El mismo error en el metodo Leer como lo puedo resolver???
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!!