Problemas com o java.util.Scanner;

3 respostas
A

Salve galera !

Comecei a estuda java a um tempinho e venho desenvolvendo os exercícios da apostila caelum ja estou começando o cap 11
porem dei uma pausa pra incrementar e testar todos os metodos.
no intuito de melhorar meu exercicio resolvi implementar o java.util.Scanner para que os dados sejam inseridos por mim mesmo durante a compilação.

Abaixo tem o codigo da classe funcionario onde tem todos os gets e sets ja definido, minha ideia e que os valores sejam inseridos através do objeto da classe scanner
logo quando eu compilar a ideia e que o programa iria pedir aleatoriamente os dados do teclado conforme definido no metodo FichaFuncionario
porem nao esta funcionando ele pega somente uma vez os dados e insere em todos os campos

public class Funcionario {

   String nomeFuncionario;
   String departamento;
   double salario;
   String dat_entrada;
   String rg;
   boolean ativo=true;
   
    String dados;
    
   
   public void setNomeFuncionario(String dados){
      this.nomeFuncionario=dados;  
    }
    
   public void setDepartamento(String dados){
        this.departamento=dados;
   }
   
   public void setSalario(double dados){
     this.salario=dados;
   }
   
   public void setDatadeEntrada(String dados){
       this.dat_entrada=dados;
   }
   
   public void setRg(String dados){
       this.rg=dados;
   }
   
   
   public String getNomeFuncionario(String dados){
     return this.nomeFuncionario=dados;  
    }
    
   public String getDepartamento(String dados){
        return this.departamento=dados;
   }
   
   public double getSalario(double dados){
     return this.salario=dados;
   }
   
   public String getDatadeEntrada(String dados){
       return this.dat_entrada=dados;
   }
   public String getRg(String dados){
       return this.rg=dados;
   }
      
   
  
   void mostraNomeFuncionario(){
    System.out.println(this.nomeFuncionario);
}
   
    void verifica_ativo() {
        if(this.ativo==false){
            System.out.println("Funcionario nao faz mais parte da empresa.");
       }else{
            System.out.println("Funcionario devidamente empregado na empresa.");
        }
           
      
      
   } 
   
    boolean bonifica (double dados){
        System.out.println("Defina o valor da bonificaçao:");this.salario= this.salario* dados;
        return true;
    }
    
    boolean demissao(){
        if (ativo=true){
           this.ativo=false;
           System.out.println("Funcionario " + this.nomeFuncionario + " acaba de ser demitido!");
           return true;
     }else{
            System.out.println("Funcionario ja foi demitido.");
            return false;
        }
    }
    
    public void fichaFuncionario(String dados){
        System.out.println("=Preenchendo Ficha de Funcionario=");
        System.out.println("Nome:"+ this.getNomeFuncionario(dados));
        System.out.println("Departamento:"+this.getDepartamento(dados));
        System.out.println("Data de entrada:"+this.getDatadeEntrada(dados));
        System.out.println("Salario:"+this.getSalario(salario));
        System.out.println("Situaçao:");this.verifica_ativo();
    }
   
    
}

Abaixo esta o MAIN onde eu criei um objeto entrada do tipo scanner e atribui a outra variavel do tipo string

package banco;

import java.util.Scanner;

public class Banco {

    public static void main(String[] args) {
       
        Scanner entrada = new Scanner(System.in);
        String dados=entrada.nextLine();
        
        
        
        Gerente gerente = new Gerente();
        gerente.fichaFuncionario(dados);
        

   }
}

Obrigado pela ajuda !
abraços!

3 Respostas

Y

Você só está a pegar a primeira linha que insere…
ou define varias linhas para pegar,ou mete tudo na mesma linha e tem que separar os campos que quer…

Oromar

A melhor saída é criar variáveis para cada informação que você quer pegar do teclado.

O método nextLine(); pega a primeira informação que foi digitada. Ignorando o restante.

A

Valeu oromar !
voce poderia me mostrar mais o mesmo um exemplo?!
no caso eu crio varias variaveis do tipo scanner e uso cada uma para cada set que criei?!

Obrigado pela ajuda Yayaa!

Criado 22 de abril de 2012
Ultima resposta 22 de abr. de 2012
Respostas 3
Participantes 3