Preciso de ajuda com um código simples em java!

Oi pessoal, to com um pequeno probleminha com um código bem simples, comecei a estudar java faz só uma semana, segue o código abaixo:
O problema é no else, ele não reconhece o erro como uma maneira de entrar no else.

package javaapplication12;

import javax.swing.JOptionPane;

public class JavaApplication12 {
public static void main(String[] args) {

    int opcao = 1;
    while (opcao != 0) {
        String sOpcao = JOptionPane.showInputDialog(null, "Bem Vindo ao programa 'Adivinha Letra'\n" + "[0] Sair\n" + "[1] Começar");
        opcao = Integer.parseInt(sOpcao);
        switch (opcao) {
            case 0:
                break;
            case 1:
                String nome;
                nome = JOptionPane.showInputDialog("Qual o seu nome?");

                String recebe = "Entre com um valor e verifique a posição refente à letra:";
                recebe = JOptionPane.showInputDialog(null, recebe);
                Integer.parseInt(recebe);

                char letra = nome.charAt(Integer.parseInt(recebe));

                if (letra > (nome.length() - 1)) {
                    JOptionPane.showMessageDialog(null, "A letra correspondente é " + "'" + letra + "'");
                } else {
                    JOptionPane.showMessageDialog(null, "ERRO!!");
                    do {
                        recebe = "Entre com um valor válido:";
                        recebe = JOptionPane.showInputDialog(null, recebe);
                        Integer.parseInt(recebe);
                        letra = nome.charAt(Integer.parseInt(recebe));
                    } while (letra > (nome.length() - 1));

                    if (letra > (nome.length() - 1)) {
                        JOptionPane.showMessageDialog(null, "A letra correspondente é " + "'" + letra + "'");
                    }

                }
                break;
        }
    }
}

}

Boa tarde,

tente colocar no case assim:

                           case 1:
        	                String nome;
        	                nome = JOptionPane.showInputDialog("Qual o seu nome?");
        	                String recebe = "Entre com um valor e verifique a posição refente à letra:";
        	                valor = Integer.parseInt(JOptionPane.showInputDialog(null, recebe));
        	                if(valor > nome.length()){ // evitar StringIndexOutOfBoundsException
        	                    do {
        	                    	JOptionPane.showMessageDialog(null, "ERRO!!");
        	                        recebe = "Entre com um valor válido:";
        	                        valor = Integer.parseInt(JOptionPane.showInputDialog(null, recebe));
        	                        if(valor <= nome.length()){
        	                        	letra = nome.charAt(valor - 1);
        	                        }
        	                    } while (valor > nome.length());
        	                }
        	                
        	                letra = nome.charAt(valor - 1);
        	                JOptionPane.showMessageDialog(null, "A letra correspondente é " + "'" + letra + "'");
        	                break;
1 curtida

Obrigada, funcionou direitinho!!