fale galera!
estou fazendo um exercicio da apostila caelum sobre o sistema interno de um banco resolvi melhorar ele fazendo com que os dados da classe funcionario seja inserido pelo teclado porem estou tendo dificuldade no uso do java.util.scanner em algumas nessa partes
a primeira essa:
String datadeentrada=input.nextLine();
se eu digitar por exemplo 14.12.99 da erro porem se eu digitar 14 de dezembro ... vai normal
porem isso entra na segunda dificuldade onde eu tenho que digitar os dados duas vezes e seguindo esse padrao acima quando vou digitar a pela segunda vez o departamento ele da um erro
e a terceira e que a minha intençao era que ficasse nesse padrao aqui
digite nome: " fica aguardando eu digitar"
digite departamento: " aguarda"
e nao esta ficando simplesmente fica aguardando os dados
aqui esta o codigo main :package banco;
public class Banco {
public static void main(String[] args) {
Gerente gerente = new Gerente();
gerente.fichaFuncionario();
}
}
e o codigo da classe funcionario
package banco;
import java.util.Scanner;
public class Funcionario {
private String nomeFuncionario;
private String departamento;
private double salario;
private String dat_entrada;
private int rg;
private boolean ativo=true;
Scanner entrada = new Scanner(System.in);
Scanner input = new Scanner(System.in);
String nomefuncionario=input.nextLine();
String nomedepartamento=input.nextLine();
double dadosSalario=input.nextDouble();
String datadeentrada=input.nextLine();
int dadosRG=entrada.nextInt();
public void setNomeFuncionario(String nomefuncionario){
System.out.println("Digite nome:");
this.nomeFuncionario=nomefuncionario;
}
public void setDepartamento(String nomedepartamento){
System.out.println("Digite departamento:");
this.departamento=nomedepartamento;
}
public void setSalario(double dadosSalario){
System.out.println("Digite salario");
this.salario=dadosSalario;
}
public void setDatadeEntrada(String datadeentrada){
System.out.println("Digite data:");
this.dat_entrada=datadeentrada;
}
public void setRg(int dadosRG){
this.rg=dadosRG;
}
public String getNomeFuncionario(){
return this.nomeFuncionario=nomefuncionario;
}
public String getDepartamento(){
return this.departamento=nomedepartamento;
}
public double getSalario(){
return this.salario=dadosSalario;
}
public String getDatadeEntrada(){
return this.dat_entrada=datadeentrada;
}
public double getRg(){
return this.rg=dadosRG;
}
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(){//funciona
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(){
System.out.println("=Preenchendo Ficha de Funcionario=");
System.out.println("Nome:"+ this.getNomeFuncionario());
System.out.println("Departamento:"+this.getDepartamento());
System.out.println("Salario:"+this.getSalario());
System.out.println("Data de entrada:"+this.getDatadeEntrada());
System.out.println("RG:"+this.getRg());
System.out.println("Situaçao:");this.verifica_ativo();
}
}
grato pela ajuda!