Validação de campo

3 respostas
Felipe_Mikael

Eae Galera td certo?

Sou iniciante em programação, e nessa pequena caminhada me surgiu uma dúvida.

Como faço para validar os campos, sendo que se o usuario digitar "nada" retorne uma mensagem de erro.

// algo como:

    if (quantidade_funcionarios == " ") {
     // faça algo

    // ou utilizando "equals"

Esta ae o código, se alguém puder ajudar agradeço, pois não encontrei nenhum post a respeito!

Abraço!

import javax.swing.JOptionPane;  
  
public class MEDIA_SALARIO {  
    public static void main(String[] args) {   
          
    int quantidade_funcionarios = 0;
    float salario_funcionarios = 0;  
    float media_salario = 0;  
    float total_salarios= 0;  
    int contador = 0;  
    int numero_funcionario = 1 ;  
      
    quantidade_funcionarios = Integer.parseInt(JOptionPane.showInputDialog(null, "Informe a quantidade de funcionários",   
    "Quantidade de funcionários",JOptionPane.QUESTION_MESSAGE));  
  
    while(quantidade_funcionarios <= 0){  
        JOptionPane.showMessageDialog(null, "ATENÇÃO! Esta quantidade não é válido informe novamente",   
        "Quantidade de funcionários",JOptionPane.PLAIN_MESSAGE);  
          
        quantidade_funcionarios = Integer.parseInt(JOptionPane.showInputDialog(null, "Informe a quantidade de funcionários",   
        "Quantidade de funcionários",JOptionPane.QUESTION_MESSAGE));}  
  
    if(quantidade_funcionarios > 0){  
        while(quantidade_funcionarios > contador){  
            salario_funcionarios = Float.parseFloat(JOptionPane.showInputDialog(null,"Informe o salário do funcionário nº " +   
            numero_funcionario,"Salário do Funcionário",JOptionPane.QUESTION_MESSAGE));  
            contador++;  
            numero_funcionario++;}}  
      
        total_salarios = total_salarios + salario_funcionarios;  
        media_salario = total_salarios / quantidade_funcionarios;  
          
        System.out.print("A média salarial da empresa é de; R$" + media_salario);  
          
        System.exit(0);       
}  
}

3 Respostas

nel

Não dê nome as classes tudo em maiúsculo e não use caracteres especiais ou separadores no nome dela, no caso, tu usou underline (_) ok?
Sobre o seu problema, é que tu já realiza um parser direto para o tipo primitivo inteiro (int), o que pode lhe gerar exceção. Uma forma de evitar isso e fazer o que está perguntando, é bem simples, veja:

String qtdadeFunc = JOptionPane.showInputDialog(null, "Informe a quantidade de funcionários", "Quantidade de funcionários", JOptionPane.QUESTION_MESSAGE); if (qtdadeFunc.trim().isEmpty()) { // mensagem de erro }

Se usas/usares uma versão JDK 1.5 ou inferior, altere para:

String qtdadeFunc = JOptionPane.showInputDialog(null, "Informe a quantidade de funcionários", "Quantidade de funcionários", JOptionPane.QUESTION_MESSAGE); if (qtdadeFunc.trim().equals("")) { // mensagem de erro }

O método “trim()” remove todos os espaços em branco antes e depois da String, exemplo:

String x = " a".trim(); System.out.println(x);

Vai mostrar “a”. Se a String tiver apenas espaços em branco, tipo " ", ela passar a ser “”.
Abraços.

Felipe_Mikael

Caro "nel ",

Valeu pela explicação e pelos conselhos nem imaginava que existia estes métodos ae.

Funcionou perfeitamente.

Abração Sucesso!!

ViniGodoy

E nem tente imaginar, leia o Javadoc:
http://docs.oracle.com/javase/7/docs/api/java/lang/String.html

Criado 15 de março de 2012
Ultima resposta 15 de mar. de 2012
Respostas 3
Participantes 3