Entrada de dados obrigatória

Pessoal se existir alguém pior que iniciante em JAVA, esse sou eu.

Tô com uma dúvida aqui.

Eu gostaria que a entrada do nome e de outros dados fossem obrigatórias, mas nesse caso abaixo, se teclar “enter” mesmo sem ter nenhuma informação, ele aceita.

Outra coisa, já aprendi, como tratar exceções com números através do “catch (NumberFormatException, …)”, mas com String, como eu posso tratar esse erro para que o programa somente aceite String?

Não sei se deu para enterder, mas minha cabeça já está derretendo.

import javax.swing.JOptionPane;

public class emp3 {

    public static void main (String args [])
    {
        String nome = null;
        
        while (nome == null)
        {
            nome = JOptionPane.showInputDialog("Digite o nome do Empregado.");
            
        }
    }
}

JOptionPane só aceita String, qualquer valor que venha dele está no formato de String, para que você obtenha o número digitado nele você terá de converter o valor. Como o usuário é obrigado a digitar alguma coisa lá, você terá que criar uma comparação e lançar uma exceção. Segue um exemplo:

import javax.swing.JOptionPane;

public class Strings {

	public static void main(String[] args) {
		String m = null;
		
		try {
			m = JOptionPane.showInputDialog("Insira alguma coisa");
			
			if (m.isEmpty()){ //verifiquei se o usuário digitou algo
				throw new NullPointerException();
                                //aqui eu lancei uma exceção para tratar lá em baixo
			} else {
				JOptionPane.showMessageDialog(null, "O valor inserido foi " + m);
			}
		} catch (NullPointerException e) {
			JOptionPane.showMessageDialog(null, "Nenhum valor inserido");
                        //ao tratar exceção eu lancei uma nova janela dizendo que ele não havia digitado nada, mas aqui você poderia re-lançar a janela solicitando que o usuário digite algo
		}
	}

}

andre.froes

vlw pela ajuda.

vou dar uma estudada, sobre o que vc colocou.