1
resposta

Alguém pode me auxiliar ??

Olá pessoal, me passaram essa etapa

"Apesar de o tipo String aceitar quaisquer caracteres, sejam textuais, especiais, ou numéricos, não é interessante que haja o ingresso de valores numéricos, vírgulas, barras ou pontos no campo nome. Neste caso, iremos evitar o lançamento de uma exceção. Faremos apenas uma validação. Declare um método que receba como parâmetro o objeto String nome e valide essa informação. O método deverá retornar um valor booleano. Ele retornará true, em caso de o valor passado for válido (não contiver caracteres numéricos, vírgulas, barras ou pontos) ou false, caso contrário."

Só que eu não faço ideia de como vou fazer para esse código receber apenas uma String. alguém pode me orientar ??

//CODIGO : hospede.setNome(JOptionPane.showInputDialog("Nome: "));

Já tentei IF /ELSE mas não estou sabendo encaixar

1 resposta

Olá Nicolas, tudo bem?

Acredito que você possa fazer conforme abaixo:

    public static void main(String[] args) {
        System.out.println(onlyLettersPerformance("Nicolas")); // true
        System.out.println(onlyLettersPerformance("nicolas@gmail.com")); // false

        System.out.println(onlyLettersRegex("Nicolas")); // true
        System.out.println(onlyLettersRegex("nicolas@gmail.com")); // false
    }

    public static boolean onlyLettersPerformance(String name) {
        char[] chars = name.toCharArray();
        for (char c : chars) {
            if (!Character.isLetter(c)) {
                return false;
            }
        }
        return true;
    }

    public static boolean onlyLettersRegex(String name) {
        return name.matches("[a-zA-Z]+");
    }