Srs, peço a ajuda de vcs. Criei uma classe funcionário que funcionou bem enquanto utilizei a classe Scanner. Quando mudei para JOptionPane não estou conseguindo mostrar um resumo digitado pelo usuário. O método “Mostra” não aparece. Além disso, quando peço a informação se o usuário é ativo ou demitido(método demite), a opção de informar a data de demissão não é disponibilizada. Alguém pode me ajudar ? Segue abaixo o código:
import java.util.Scanner;
import javax.swing.JOptionPane;
public class Funcionario
{
Scanner entrada = new Scanner(System.in);
//atributos
private String nome;
private String depto;
private double salarioInicial;
private String admissao;
private String cpf;
private String status;
//construtor
public Funcionario(String nm, String setor, double salIni, String adm, String ident, String sit)
{
nome = nm;
depto = setor;
salarioInicial = salIni;
admissao = adm;
cpf = ident;
status = sit;
}
public void setNome(String nm)
{
nome = nm;
}
public String getNome()
{
return nome;
}
public void setDepto(String setor)
{
depto = setor;
}
public String getDepto()
{
return depto;
}
public void setSalarioInicial(double salIni)
{
salarioInicial = salIni;
}
public double getSalarioInicial()
{
return salarioInicial;
}
public void setAdmissao(String adm)
{
admissao = adm;
}
public String getAdmissao()
{
return admissao;
}
public void setCpf(String ident)
{
cpf = ident;
}
public String getCpf()
{
return cpf;
}
public void setStatus(String sit)
{
status = sit;
}
public String getStatus()
{
return status;
}
public void newFuncionario()
{
String nome = JOptionPane.showInputDialog(null,"Digite nome do funcionario: ");
//nome = entrada.next();
String depto = JOptionPane.showInputDialog(null,"Digite departamento: ");
//depto = entrada.next();
String admissao = JOptionPane.showInputDialog(null,"Digite a data de admissao: ");
//admissao = entrada.next();
String cpf = JOptionPane.showInputDialog(null,"Digite CPF: ");
//cpf = entrada.next();
//salarioInicial = JOptionPane.showInputDialog(null,"Digite salario em R$ ");
salarioInicial = Double.parseDouble(JOptionPane.showInputDialog(null,"Digite salario em R$ "));
//salarioInicial = entrada.nextDouble();
}
double percentual = 0;
public void bonifica()
{
percentual = Double.parseDouble(JOptionPane.showInputDialog(null,"Digite percentual de reajuste: "));
//percentual = entrada.nextDouble();
if(percentual > 0)
{
salarioInicial = salarioInicial + (salarioInicial * (percentual/100));
JOptionPane.showMessageDialog(null,"Salário atualizado: "+salarioInicial);
}
else
JOptionPane.showMessageDialog(null,"Salario não foi corrigido. Valor permanece"
+salarioInicial);
}
public void demite()
{
status = JOptionPane.showInputDialog(null,"Digite status - (A)tivo ou (D)emitido: ");
status = entrada.next();
if(status != "A")
JOptionPane.showInputDialog(null,"Digite a data de demissão do funcionario: ");
//status = entrada.next();
}
public void mostra()
{
JOptionPane.showMessageDialog(null,"\n\nNOME: "+ nome);
JOptionPane.showMessageDialog(null,"DEPTO: "+ depto);
JOptionPane.showMessageDialog(null,"SALARIO: "+ salarioInicial);
JOptionPane.showMessageDialog(null,"ADMISSAO: "+ admissao);
JOptionPane.showMessageDialog(null,"CPF: "+ cpf);
JOptionPane.showMessageDialog(null,"STATUS: "+ status);
System.exit(0);
}
}
public class FuncionarioTest
{
public static void main (String args [] )
{
//Scanner entrada = new Scanner(System.in);
Funcionario funcionario = new Funcionario("","",0.0,"","","");
funcionario.newFuncionario();
funcionario.bonifica();
funcionario.demite();
funcionario.mostra();
}
}
Abs,