Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
1
respuesta

[Proyecto] Verificando aprobación en una asignatura y verificación de contraseña

  clase para pedir cotrasenia

 import java.util.Scanner;

public class Contrasenia {

String contraseñaSistema = "123456";
public String contraseñaUsuario;

//metodo para pedir contraseña

public String pedirContrasenia(){
    Scanner scanner = new Scanner(System.in);
    System.out.println("Ingresa la contraseña");
    scanner.close();
     this.contraseñaUsuario = scanner.nextLine();
     return this.contraseñaUsuario;
     
}
Metodo para verificar contraseña.

public void verificarContraseña(String contraseñaUsuario) {
      if (contraseñaUsuario.equals(contraseñaSistema)) {
         System.out.println("Bienvinido");
      } else {
         System.out.println("Contraseña incorrecta");
      }

    }
}

// clase para asignaturas//

import java.util.Scanner;

 //Metodo para pedir la nota
   public class Asignatura {
public int pedirNota(){
    Scanner scanner = new Scanner(System.in);
    scanner.close();
    System.out.println("ingresa la nota");
    int nota = scanner.nextInt();
    return nota;
}
 //Metodo para verificar notas


 public void vefiricarNota(float nota){
    if (nota >= 7.0) {
        System.out.println("Has aprovado la matria");
    } else if ( nota <= 7.9 && nota >= 5) {
        System.out.println("Estas en recuperacion");
    }else {
        System.out.println("Has reprobado");
    }
}
 }
      
      clase para llamar metodos
       public class Muestra {
      public static void main(String[] args) {

    Contrasenia verifica = new Contrasenia();
    String contrasenia = verifica.pedirContrasenia();
    verifica.verificarContraseña(contrasenia);

     Asignatura aprobado = new Asignatura();
      float nota = aprobado.pedirNota();
      aprobado.vefiricarNota(nota);
}
 }
1 respuesta

Hola Alexander, espero que estés bien

Parece que estás trabajando en un proyecto que verifica tanto una contraseña como la aprobación en una asignatura. He notado algunos detalles en tu código que podrían mejorarse para que funcione correctamente.

  1. Problema con el Scanner: En ambos métodos pedirContrasenia y pedirNota, estás cerrando el Scanner inmediatamente después de abrirlo. Esto provoca que el Scanner no pueda ser utilizado después de cerrarlo, lo que puede causar errores en la ejecución del programa. Te sugiero que no cierres el Scanner hasta que hayas terminado de usarlo en todo el programa. Una buena práctica es cerrarlo al final del método main.

  2. Verificación de notas: En el método vefiricarNota, hay un pequeño error de lógica en las condiciones else if. La condición nota <= 7.9 && nota >= 5 debería ser nota < 7.0 && nota >= 5.0 para ajustarse a las reglas de la escuela que mencionaste en el contexto. Además, hay un error tipográfico en el nombre del método vefiricarNota, que debería ser verificarNota.

  3. Salida esperada: Según el contexto proporcionado, la salida esperada debe incluir el promedio del estudiante en el mensaje. Puedes modificar el método verificarNota para que imprima el promedio junto con el resultado.

Con estos ajustes, tu programa debería funcionar de acuerdo con las expectativas. Espero que estas sugerencias te sean útiles.

Espero haber ayudado y buenos estudios!