Instanciar objeto[RESOLVIDO]

Bom dia, gostaria de colaboração de vocês.

Criei a classe “Funcionário” conforme abaixo e a classe “FuncionarioTest”. Criei um objeto e o nomeei como “func1” que rodou normalmente(errei um método mas depois corrigirei). O problema é que instanciei um novo objeto “func2” e este não roda. Alguém poderia me ajudar ?

Desde já agradeço.


import javax.swing.JOptionPane;

public class Funcionario
{
       //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()
       {
               nome = JOptionPane.showInputDialog(null,"Digite nome do funcionario: ");
               depto = JOptionPane.showInputDialog(null,"Digite departamento: ");
               admissao = JOptionPane.showInputDialog(null,"Digite a data de admissao: ");
               cpf = JOptionPane.showInputDialog(null,"Digite CPF: ");
               salarioInicial = Double.parseDouble(JOptionPane.showInputDialog(null,"Digite salario em R$ "));
       }
       
       double percentual = 0;
       
       public void bonifica()
       {

               percentual = Double.parseDouble(JOptionPane.showInputDialog(null,"Digite percentual de reajuste: "));
               
               if(percentual > 0)
               {
                       salarioInicial = salarioInicial + (salarioInicial * (percentual/100));
                       JOptionPane.showMessageDialog(null,"Salario atualizado: "+salarioInicial);
               }
                       else

                       JOptionPane.showMessageDialog(null,"Salario nao foi corrigido. Valor de" + salarioInicial + "permanece");
       }

       public void demite()
       {
       	              	       
       	       JOptionPane.showInputDialog(null,"Digite status - (A)tivo ou (D)emitido: "+status);
                               
               if(status == "A")
       	       {		
               	       JOptionPane.showMessageDialog(null,"Funcionario ativo"+status);
               }	
       		else
       		{
       			JOptionPane.showInputDialog("Digite a data de demissao do funcionario: ");
       	       }	                              	       	       	               
       }
       
       public void mostra()
       {
       	       JOptionPane.showMessageDialog(null,"NOME: " + this.nome + "\nDEPTO: " + this.depto + "\nSALARIO: " + this.salarioInicial + 
       	       	       "\nADMISSAO: " + this.admissao + "\nCPF: " + this.cpf + "\nSTATUS: " + this.status);
       	              	       
       	       System.exit(0);
       }

}

public class FuncionarioTest
{
       public static void main (String args [] )
       {

               Funcionario func1 = new Funcionario("","",0.0,"","","");
               Funcionario func2 = new Funcionario("","",0.0,"","","");
               
               func1.newFuncionario();
               func1.bonifica();
               func1.demite();
               func1.mostra();
                              
               func2.newFuncionario();
               func2.bonifica();
               func2.demite();
               func2.mostra();

       }

}

Troque

if(status == "A") 

por

if("A".equals (status)) 

Srs, identifique que o problema está no método “mostra”, mas não sei porque ele não disponibiliza a opção para digitar os dados do 2º funcionário.

Você está dando um System.exit(0) no final da instância (classe Funcionario)… tem que dar o System.exit(0) no FuncionarioTest…

Agradeço a atenção.

Marcelo, funcionou.

Um abraço a todos e obrigado.