Projeto ICM

Olá Pessoal, sou estudante, tenho que fazer uma calculadora ICM, a partir de um diagrama de classe proposto, com métodos e classes, são 6 classes , 1) MenuICM; 2)Icm; 3) ConversordeNumeros; 4)EntradasaidaDados; 5)Situação 6) Principal. Bem a 3,4,5,6, já fiz. A MenuICM e Icm, fiz, mas, contém erros, e estou quase louca, rs. Porque não sei onde estão os erros, mas, existem claro. A seguir a classe Menu ICM e Icm:
package menuimc;
import javax.swing.JOptionPane;
/**
*

  • @author ester
    */
    public class MenuIMC {

    private int imc;
    private int opcao;
    private ConversorNumeros1 conversor;
    private EntradaSaidaDados1 io;

    public MenuIMC() {
    this.imc = Int();
    this.opcao = -1;
    this.conversor = new ConversorNumeros1();
    this.io = new EntradaSaidaDados1();

    }
    public void executarImc(){

             do{
         this.executarMenuPrincipal();
         this.avaliarOpcaoEscolhida();
     }while(this.opcao!=4);
     }
      
      
       private void executarMenuPrincipal(){
            String mensagemMenu = "Selecione uma opção"
                    + "até 19 abaixo do peso, muito magro !"
                    + "20 -25 normal! "
                    + "26 -30 sobrepeso normal! "
                    + "31 -35 a coisa está ficando feia !! "
                    + "36 -40 procure um Spa !!! "
                    + "acima de 41 procure um médico, sua vida vai mal!!!!! ";
            
                    
             
                        String entradaDados = io.entradaDados(mensagemMenu);
                        this.opcao = conversor.stringToInt (entradaDados);
        }
      
    
       public void avaliarOpcaoEscolhida()  {
    
            String entrada = new String();
    
    
    
                  entrada = JOptionPane.showInputDialog("Digite o peso");
    
                  peso = Double.parseDouble(entrada);
    
                  entrada = JOptionPane.showInputDialog("Digita a altura");
    
                  altura = Double.parseDouble(entrada);
    
                  imc = (peso)/(altura*altura);
    
    
    
                       if (imc <=19)
    
                        {
    
                            JOptionPane.showMessageDialog(null, "Abaixo do peso, muito magro " +imc);
    
                        }
    
                      if (imc >=20 && imc <=25)
    
                        {
    
                           JOptionPane.showMessageDialog(null, "Peso Normal " +imc);
    
                        }
    
                      if (imc >=26 && imc <=30)
    
                        {
    
                          JOptionPane.showMessageDialog(null, "Sobrepeso, um regiminho ajeita tudo " +imc);
    
                        }
    
                     if (imc >=31 && imc <=35)
    
                        {
    
                         JOptionPane.showMessageDialog(null, "A coisa está ficando feia " +imc);
    
                        }
    
                     if (imc >=36 && imc <=40)
    
                        {
    
                        JOptionPane.showMessageDialog(null, "Procure um SPA " +imc);
    
                        }
    
                     if (imc >=41)
    
                        {
    
                       JOptionPane.showMessageDialog(null, "Procure um médico, sua saúde vai mal " +imc);
    
    }
    

    }

}