How to make java do not save menus from previous methods?

0

I am doing a program in which I need to show a data of each one. I know I've made a lot of design errors, but right now there's no time to modify everything, and the java utilities that we can use are limited, in fact I can not use arrays, there are those that have so many problems.

I have 4 menus with different submenus, the problem is that when I run a menu by console, and return to the main menu, it saves me the previous menu, so if I go first to the teachers menu and then to the balance menu, I shows the teacher menu instead of the balance menu, with what my question is, How can I solve this? below I leave the code.

Show me this:

1 - Introducir datos
2 - Consultar datos 
3 - Salir al Menu Principal

When I would have to show this

   Menu de opciones  
---------------------
1 - Consultar Gastos
2 - consultar Ingresos 
3 - Consultar Resultado de Explotación 
0 - Volver al menu principal 

This is the one that contains the menu balance method.

package proyecto;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;


public class menu_pro {

    static BufferedReader dato = new BufferedReader(new InputStreamReader(System.in));
    static profesor a =new profesor();



    static int menu () throws IOException{   

        int opcion= 9;

        while(opcion!=0){
            System.out.println("  Menu de opciones  ");
            System.out.println("---------------------");
            System.out.println("1 - Introducir datos");
            System.out.println("2 - Consultar datos ");
            System.out.println("3 - Salir al Menu Principal ");
            opcion = Integer.parseInt(dato.readLine());
            if (opcion==1) introDatos();
            if (opcion==2) consultaDatos();
            if (opcion==3) principal.menu();
        }

        return opcion;

    }   

    static void introDatos() throws IOException{

        System.out.println("Introduzca el DNI a incluir");
                String dni = dato.readLine();
                a.intro_dni(dni);
        System.out.println("Introduzca el nombre a incluir");
                String nombre=dato.readLine();
                a.intro_nombre(nombre);
        System.out.println("Introduzca los apellidos a incluir");
                String apellidos=dato.readLine();
                a.intro_apellidos(apellidos);
        System.out.println("Introduzca el sueldo");
                int sueldo=Integer.parseInt(dato.readLine());
                a.intro_sueldo(sueldo);
        System.out.println("Introduzca el nº de alumnos ");
                int n_alumnos=Integer.parseInt(dato.readLine());
                a.intro_alumno(n_alumnos);
        }


     static void consultaDatos() throws IOException{
        int opcion2=9;
        while(opcion2<0 || opcion2>7){
            System.out.println("  Menu de opciones  ");
            System.out.println("---------------------");
            System.out.println("1 - Consultar DNI");
            System.out.println("2 - Consultar Nombre  ");
            System.out.println("3 - Consultar Apellidos");
            System.out.println("5 - Consultar Sueldo");
            System.out.println("6 - Consultar Todos los Datos");
            System.out.println("0 - Salir");
            System.out.println("---------------------");
            System.out.println("  Qué desea hacer?  ");
            opcion2=Integer.parseInt(dato.readLine());
        }
        switch (opcion2){

            case 1:
                System.out.printf("El DNI es %s\n",a.consulta_dni());
                break;
            case 2:
                System.out.printf("El nombre es %s\n",a.consulta_nombre());
                break;
            case 3:
                System.out.printf("Los apellidos son %s\n",a.consulta_apellidos());
                break;
            case 4:
                System.out.printf("El número de alumnos es %d\n",a.consulta_n_alumnos());
                break;
            case 5:
                System.out.printf("El sueldo es %d\n",a.consulta_sueldo());
                break;
            case 6:
                System.out.printf("El DNI es %s\n",a.consulta_dni());
                System.out.printf("El nombre es %s\n",a.consulta_nombre()); 
                System.out.printf("Los apellidos son %s\n",a.consulta_apellidos());
                System.out.printf("El número de alumnos es %d\n",a.consulta_n_alumnos());
                System.out.printf("El sueldo es %d\n",a.consulta_sueldo());
                break;
            case 0:
                 menu();
            default:

                break;
        }
        menu();
    } 
}

This is what the teachers menu contains

package proyecto;




import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class menu_pro {

    static BufferedReader dato = new BufferedReader(new InputStreamReader(System.in));
    static profesor a =new profesor();



    static int menu () throws IOException{   

        int opcion= 9;

        while(opcion!=0){
            System.out.println("  Menu de opciones  ");
            System.out.println("---------------------");
            System.out.println("1 - Introducir datos");
            System.out.println("2 - Consultar datos ");
            System.out.println("3 - Salir al Menu Principal ");
            opcion = Integer.parseInt(dato.readLine());
            if (opcion==1) introDatos();
            if (opcion==2) consultaDatos();
            if (opcion==3) principal.menu();
        }

        return opcion;

    }   

    static void introDatos() throws IOException{

        System.out.println("Introduzca el DNI a incluir");
                String dni = dato.readLine();
                a.intro_dni(dni);
        System.out.println("Introduzca el nombre a incluir");
                String nombre=dato.readLine();
                a.intro_nombre(nombre);
        System.out.println("Introduzca los apellidos a incluir");
                String apellidos=dato.readLine();
                a.intro_apellidos(apellidos);
        System.out.println("Introduzca el sueldo");
                int sueldo=Integer.parseInt(dato.readLine());
                a.intro_sueldo(sueldo);
        System.out.println("Introduzca el nº de alumnos ");
                int n_alumnos=Integer.parseInt(dato.readLine());
                a.intro_alumno(n_alumnos);
        }


     static void consultaDatos() throws IOException{
        int opcion2=9;
        while(opcion2<0 || opcion2>7){
            System.out.println("  Menu de opciones  ");
            System.out.println("---------------------");
            System.out.println("1 - Consultar DNI");
            System.out.println("2 - Consultar Nombre  ");
            System.out.println("3 - Consultar Apellidos");
            System.out.println("5 - Consultar Sueldo");
            System.out.println("6 - Consultar Todos los Datos");
            System.out.println("0 - Salir");
            System.out.println("---------------------");
            System.out.println("  Qué desea hacer?  ");
            opcion2=Integer.parseInt(dato.readLine());
        }
        switch (opcion2){

            case 1:
                System.out.printf("El DNI es %s\n",a.consulta_dni());
                break;
            case 2:
                System.out.printf("El nombre es %s\n",a.consulta_nombre());
                break;
            case 3:
                System.out.printf("Los apellidos son %s\n",a.consulta_apellidos());
                break;
            case 4:
                System.out.printf("El número de alumnos es %d\n",a.consulta_n_alumnos());
                break;
            case 5:
                System.out.printf("El sueldo es %d\n",a.consulta_sueldo());
                break;
            case 6:
                System.out.printf("El DNI es %s\n",a.consulta_dni());
                System.out.printf("El nombre es %s\n",a.consulta_nombre()); 
                System.out.printf("Los apellidos son %s\n",a.consulta_apellidos());
                System.out.printf("El número de alumnos es %d\n",a.consulta_n_alumnos());
                System.out.printf("El sueldo es %d\n",a.consulta_sueldo());
                break;
            case 0:
                 menu();
            default:

                break;
        }
        menu();
    } 
}

This one that contains the dependent menu

package proyecto;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;


public class menu_dep {

    static BufferedReader dato = new BufferedReader(new InputStreamReader(System.in));
    static dependiente a =new dependiente();



    static int menu () throws IOException{   

        int opcion= 9;

        while(opcion!=0){
            System.out.println("  Menu de opciones  ");
            System.out.println("---------------------");
            System.out.println("1 - Introducir datos");
            System.out.println("2 - Consultar datos ");
            System.out.println("3 - Salir al Menu Principal ");
            opcion = Integer.parseInt(dato.readLine());
            if (opcion==1) introDatos();
            if (opcion==2) consultaDatos();
            if (opcion==3) principal.menu();
        }

        return opcion;

    }     

    static void introDatos() throws IOException{
        System.out.println("Introduzca el DNI a incluir");
                String dni = dato.readLine();
                a.intro_dni(dni);
        System.out.println("Introduzca el nombre a incluir");
                String nombre=dato.readLine();
                a.intro_nombre(nombre);
        System.out.println("Introduzca los apellidos a incluir");
                String apellidos=dato.readLine();
                a.intro_apellidos(apellidos);

        System.out.println("Introduzca el sueldo");
                int sueldo=Integer.parseInt(dato.readLine());
                a.intro_sueldo(sueldo);

        menu();      
    }

    static void consultaDatos() throws IOException{
        int opcion2=9;
        while(opcion2<0 || opcion2>7){
            System.out.println("  Menu de opciones  ");
            System.out.println("---------------------");
            System.out.println("1 - Consultar DNI");
            System.out.println("2 - Consultar Nombre  ");
            System.out.println("3 - Consultar Apellidos");
            System.out.println("4 - Consultar Numero horas");
            System.out.println("5 - Consultar Todos los Datos");
            System.out.println("0 - Voler al menu anterior");
            System.out.println("---------------------");
            System.out.println("  Qué desea hacer?  ");
            opcion2=Integer.parseInt(dato.readLine());
        }
        switch (opcion2){
            case 1:
                System.out.printf("El DNI es %s\n",a.consulta_dni());
                break;
            case 2:
                System.out.printf("El nombre es %s\n",a.consulta_nombre());
                break;
            case 3:
                System.out.printf("Los apellidos son %s\n",a.consulta_apellidos());
                break;
            case 4:
                System.out.printf("El sueldo es %d\n",a.consulta_sueldo());
                break;
            case 5:
                System.out.printf("El DNI es %s\n",a.consulta_dni());
                System.out.printf("El nombre es %s\n",a.consulta_nombre()); 
                System.out.printf("Los apellidos son %s\n",a.consulta_apellidos());
                System.out.printf("El sueldo es %d\n",a.consulta_sueldo());
                break;
            case 0:
                menu();
                break;
            default:

                break;
        }
        menu();
    }


}

And the latter one that contains the students menu

    static alumnos a =new alumnos();


    static int menu () throws IOException{   

        int opcion= 9;

        while(opcion!=0){
            System.out.println("  Menu de opciones  ");
            System.out.println("---------------------");
            System.out.println("1 - Introducir datos");
            System.out.println("2 - Consultar datos ");
            System.out.println("3 - Salir al Menu Principal ");
            opcion = Integer.parseInt(dato.readLine());
            if (opcion==1) introDatos();
            if (opcion==2) consultaDatos();
            if (opcion==3) principal.menu();
        }

        return opcion;

    }     

    static void introDatos() throws IOException{
        System.out.println("Introduzca el DNI a incluir");
                String dni = dato.readLine();
                a.intro_dni(dni);
        System.out.println("Introduzca el nombre a incluir");
                String nombre=dato.readLine();
                a.intro_nombre(nombre);
        System.out.println("Introduzca los apellidos a incluir");
                String apellidos=dato.readLine();
                a.intro_apellidos(apellidos);

        System.out.println("Introduzca la cuota");
                int cuota=Integer.parseInt(dato.readLine());
                a.intro_cuota(cuota);
         System.out.println("Introduzca el nivel del alumno");
                String nivel =dato.readLine();
                a.intro_nivel(nivel);

        menu();      
    }

    static void consultaDatos() throws IOException{
        int opcion2=9;
        while(opcion2<0 || opcion2>7){
            System.out.println("  Menu de opciones  ");
            System.out.println("---------------------");
            System.out.println("1 - Consultar DNI");
            System.out.println("2 - Consultar Nombre  ");
            System.out.println("3 - Consultar Apellidos");
            System.out.println("4 - Consultar Cuota");
            System.out.println("5 - Consultar Nivel");
            System.out.println("6 - Consultar Todos los Datos");
            System.out.println("0 - Salir");
            System.out.println("---------------------");
            System.out.println("  Qué desea hacer?  ");
            opcion2=Integer.parseInt(dato.readLine());
        }
        switch (opcion2){
            case 1:
                System.out.printf("El DNI es %s\n",a.consulta_dni());
                break;
            case 2:
                System.out.printf("El nombre es %s\n",a.consulta_nombre());
                break;
            case 3:
                System.out.printf("Los apellidos son %s\n",a.consulta_apellidos());
                break;
            case 4:
                System.out.printf("El sueldo es %d\n",a.consulta_cuota());
                break;
            case 5:
                System.out.printf("El sueldo es %s\n",a.consulta_nivel());
                break;
            case 6:
                System.out.printf("El DNI es %s\n",a.consulta_dni());
                System.out.printf("El nombre es %s\n",a.consulta_nombre()); 
                System.out.printf("Los apellidos son %s\n",a.consulta_apellidos());
                System.out.printf("La cuota es %s\n",a.consulta_cuota());
                System.out.printf("El Nivel es %s\n",a.consulta_nivel());
                break;
            case 0:
                menu();
                break;
            default:

                break;
        }
        menu();
    }


}
    
asked by irondani 05.12.2018 в 15:49
source

0 answers