[RESOLVIDO]Problema com laço

Caso a opção 1 seja escolhida será possível inserir dados no programa e após
visualizar todas as informações digitadas ou calculadas pelo seu programa.

Caso a opção 2 seja escolhida, a seguinte mensagem deverá aparecer Fim do
programa !!!.

Já tentei de diversas formas mas eu simplesmente não consigo, eu tentei com do while e boolean pra acabar com o while, mas quando boto 2 erradas o loop se encerra!

edit: se o código digitado for diferente que 1 ou 2, o programa pede para digitar novamente!

CODIGO MAIN:

Summary

package funcionario;
import java.util.Scanner;

public class Main {

    public static void main(String[] args) {
        
        String nome, departamento;
        double salario;
        String dataEntrada;
        String rg, cpf;
        int filhos, opcao;
        double aumento = 50;
       
        
        Menu meuMenu;
        meuMenu = new Menu();
        
        Funcionario func = new Funcionario(); 
        Scanner ler = new Scanner (System.in);
       
        new Menu().Menu();
        new Menu().opcao();
        new Menu().textoOpcao();
        
        if (meuMenu.opcao == 1){
            
               System.out.println("Digite seu nome: ");
                nome = ler.next();
                System.out.println("Digite seu departamento: ");
                departamento = ler.next();
                System.out.println("Digite seu salário: ");
                salario = ler.nextDouble();
                System.out.println("Numero de filhos: ");
                filhos = ler.nextInt();
                System.out.println("Digite sua data de entrada: ");
                dataEntrada = ler.next();
                System.out.println("Digite seu RG: ");
                rg = ler.next();
                System.out.println("Digite seu CPF: ");
                cpf = ler.next();

                func.salarioD(salario);
                func.calcularGanhoAnual();
                func.inss();
                func.irrf();
                func.salarioF(filhos);
                System.out.println(func.toString(nome, departamento, salario, rg, cpf));
            }
        if (meuMenu.opcao == 2){
            
            System.out.println("Você saiu do programa!");
        
        }
        
       }   
   
}

CÓDIGO MENU:

Summary
package funcionario;
import java.util.Scanner;

public class Menu {

    Scanner ler = new Scanner(System.in);

    int opcao;

    void Menu(){


        System.out.println("---------------------------------");
        System.out.println("--     OPCOES DISPONIVEIS      --");
        System.out.println("---------------------------------");
        System.out.println("1. INSERIR");
        System.out.println("2. SAIR");
        System.out.println("---------------------------------");    
        
    }

    void opcao(){

        //LOOP PARA OPÇÃO INVALIDA AQUI!
        
    }

    void textoOpcao(){

        switch(opcao){

            case 1:
                System.out.println("Inserir");
                break;
            case 2:
                System.out.println("Sair");
                break;
        }

    }

}

int numero=0;
switch (numero) {
case 1:
System.out.println(“Coloque aqui a decisão 1!”);
break;
case 2:
System.out.println(“Opção 2 para fechar o sistema!”);
System.exit(0);
break;
default:
System.out.println(“Aqui pede para digitar novamente!”);
}

1 curtida