fork download
  1. // Clase Estudiante
  2. class Estudiante {
  3. // Atributos privados (Encapsulación)
  4. private String nombre;
  5. private int edad;
  6. private double calificacion;
  7.  
  8. // Constructor
  9. public Estudiante(String nombre, int edad, double calificacion) {
  10. this.nombre = nombre;
  11. this.edad = edad;
  12. setCalificacion(calificacion); // Validamos la calificación
  13. }
  14.  
  15. // Métodos Getter (Para obtener información)
  16. public String getNombre() { return nombre; }
  17. public int getEdad() { return edad; }
  18. public double getCalificacion() { return calificacion; }
  19.  
  20. // Métodos Setter (Para modificar información de forma controlada)
  21. public void setNombre(String nombre) { this.nombre = nombre; }
  22.  
  23. public void setEdad(int edad) {
  24. if (edad > 0) { this.edad = edad; }
  25. else { System.out.println("Error: La edad debe ser mayor a 0."); }
  26. }
  27.  
  28. public void setCalificacion(double calif) {
  29. if (calif >= 0 && calif <= 10) { calificacion = calif; }
  30. else { System.out.println("Error: La calif. debe estar entre 0 y 10."); }
  31. }
  32.  
  33. // Método para mostrar la información del estudiante
  34. public void mostrarInfo() {
  35. System.out.println("Nombre: " + nombre + " | Edad: " + edad + " | Calificación: " + calificacion);
  36. }
  37. }
  38.  
  39.  
  40. // Clase principal con el método main
  41. class PruebaEstudiante {
  42. public static void main(String[] args) {
  43. // Crear un estudiante con datos iniciales
  44. Estudiante estudiante1 = new Estudiante("Carlos", 18, 8.5);
  45.  
  46. // Mostrar información inicial
  47. estudiante1.mostrarInfo();
  48.  
  49. // Modificar atributos con métodos set
  50. estudiante1.setNombre("Ana");
  51. estudiante1.setEdad(20);
  52. estudiante1.setCalificacion(9.3);
  53.  
  54. // Mostrar información después de los cambios
  55. estudiante1.mostrarInfo();
  56.  
  57. // Intentar asignar una calificación inválida
  58. estudiante1.setCalificacion(12);
  59.  
  60. // Intentar asignar una edad inválida
  61. estudiante1.setEdad(-5);
  62. }
  63. }
  64.  
Success #stdin #stdout 0.17s 58112KB
stdin
Standard input is empty
stdout
Nombre: Carlos | Edad: 18 | Calificación: 8.5
Nombre: Ana | Edad: 20 | Calificación: 9.3
Error: La calif. debe estar entre 0 y 10.
Error: La edad debe ser mayor a 0.