// Clase Estudiante
class Estudiante {
// Atributos privados (Encapsulación)
private int edad;
private double calificacion;
// Constructor
public Estudiante
(String nombre,
int edad,
double calificacion
) { this.nombre = nombre;
this.edad = edad;
setCalificacion(calificacion); // Validamos la calificación
}
// Métodos Getter (Para obtener información)
public String getNombre
() { return nombre
; } public int getEdad() { return edad; }
public double getCalificacion() { return calificacion; }
// Métodos Setter (Para modificar información de forma controlada)
public void setNombre
(String nombre
) { this.
nombre = nombre
; }
public void setEdad(int edad) {
if (edad > 0) { this.edad = edad; }
else { System.
out.
println("Error: La edad debe ser mayor a 0."); } }
public void setCalificacion(double calif) {
if (calif >= 0 && calif <= 10) { calificacion = calif; }
else { System.
out.
println("Error: La calif. debe estar entre 0 y 10."); } }
// Método para mostrar la información del estudiante
public void mostrarInfo() {
System.
out.
println("Nombre: " + nombre
+ " | Edad: " + edad
+ " | Calificación: " + calificacion
); }
}
// Clase principal con el método main
class PruebaEstudiante {
public static void main
(String[] args
) { // Crear un estudiante con datos iniciales
Estudiante estudiante1 = new Estudiante("Carlos", 18, 8.5);
// Mostrar información inicial
estudiante1.mostrarInfo();
// Modificar atributos con métodos set
estudiante1.setNombre("Ana");
estudiante1.setEdad(20);
estudiante1.setCalificacion(9.3);
// Mostrar información después de los cambios
estudiante1.mostrarInfo();
// Intentar asignar una calificación inválida
estudiante1.setCalificacion(12);
// Intentar asignar una edad inválida
estudiante1.setEdad(-5);
}
}