Alguem pode ajudar?

3 respostas
Froid_missi

Bom, a pouco tempo comecei a aprender java e estou me interessando mt mas estou tendo certas dificuldades em fazer alguns exercicios.
Estou seguindo a apostila "caelum".
O exercicio que nao estou conseguindo fazer é um modelo de funcionario onde deve conter o nome do funcionario, o departamento, seu salario, a data de entrada na empresa, seu rg, e um valor para saber se ele ainda esta na empresa ou nao.

Seguindo os modelos da apostila eu consegi chegar ate aqui:

class Funcionario
{
    String nome;
    String departamento;
    String dataEntrada;
    String rg;
    Double salario;
    boolean estaNaEmpresa;
    
   
    void bonifica(double valor)
        {
           double salarioNovo = this.salario += bonifica;
           this.salario = salarioNovo;
        }    
}
    

class TestaFuncionario
{
     public static void main(String[] args)
        { 
           Funcionario f1 = new Funcionario();

           f1.nome = "Fernando";
           f1.salario = 100;
           f1.bonifica(50);

           System.out.println("O salario atual:" + f1.salario);

         }
}

Mas esta dando um erro sobre alguma coisa no salario dele, se alguem puder me ajudar a acertar esse erro e dar algumas dicas a mais, obrigado.

;*~

3 Respostas

I
class Funcionario
{
    String nome;
    String departamento;
    String dataEntrada;
    String rg;
    Double salario;
    boolean estaNaEmpresa;
    
   
    void bonifica(double valor)
        {
           double salarioNovo = this.salario += bonifica;
           this.salario = salarioNovo;
        }    
}
    

class TestaFuncionario
{
     public static void main(String[] args)
        { 
           Funcionario f1 = new Funcionario();

           f1.nome = "Fernando";
           f1.salario = 100;
           f1.bonifica(50);

           System.out.println("O salario atual:" + f1.salario);

         }
}

Alterado:

class Funcionario
 {
     String nome;
     String departamento;
     String dataEntrada;
     String rg;
     double salario;
     boolean estaNaEmpresa;
     
    
     void bonifica(double valor)
         {
            double salarioNovo = this.salario + valor;
            this.salario = salarioNovo;
         }    
 }

Se vc reparar,eu alterei a declaração do atributo salario,para ele ser do tipo primitivo double, "d" minusculo. Outro erro que vc tinha, era no método bonifica, onde vc somama o salario com a variavel "bonifica", a qual não existe,alterei para ser somado com o parametro "valor" que acho que era sua intenção.

Qlqer duvida pergunta ai.

rpatricia

Olá

Acho que se você fizer dessa forma será melhor:

Veja que você utiliza uma variável bonifica a qual não foi declarada e acredito que não é o objetivo da sua classe, o que você quer na verdade é que o salário atual seja somado com o valor que virá como parâmetro no seu método bonifica, certo? :wink:

Alterado:

Classe Funcionário

public class Funcionario
 {
     String nome;
     String departamento;
     String dataEntrada;
     String rg;
     double salario;
     boolean estaNaEmpresa;
     
    
     void bonifica(double valor)
         {
            double salarioNovo = this.salario += valor;
            this.salario = salarioNovo;
         }    
     
 
 
}

Classe TestaFuncionário

public class TestaFuncionario
 {
       public static void main(String[] args)
         { 
            Funcionario f1 = new Funcionario();
 
            f1.nome = "Fernando";
            f1.salario = 100;
            f1.bonifica(50);
 
            System.out.println("O salario atual:" + f1.salario);
 
          }
 }

Seria legal se separasse a sua classe teste em um outro arquivo como visto acima

abs
Patrícia

LPJava
Froid_missi:
Bom, a pouco tempo comecei a aprender java e estou me interessando mt mas estou tendo certas dificuldades em fazer alguns exercicios. Estou seguindo a apostila "caelum". O exercicio que nao estou conseguindo fazer é um modelo de funcionario onde deve conter o nome do funcionario, o departamento, seu salario, a data de entrada na empresa, seu rg, e um valor para saber se ele ainda esta na empresa ou nao.

Seguindo os modelos da apostila eu consegi chegar ate aqui:

class Funcionario
{
    String nome;
    String departamento;
    String dataEntrada;
    String rg;
    Double salario;
    boolean estaNaEmpresa;
    
   
    void bonifica(double valor)
        {
           double salarioNovo = this.salario += bonifica;
           this.salario = salarioNovo;
        }    
}
    

class TestaFuncionario
{
     public static void main(String[] args)
        { 
           Funcionario f1 = new Funcionario();

           f1.nome = "Fernando";
           f1.salario = 100;
           f1.bonifica(50);

           System.out.println("O salario atual:" + f1.salario);

         }
}

Mas esta dando um erro sobre alguma coisa no salario dele, se alguem puder me ajudar a acertar esse erro e dar algumas dicas a mais, obrigado.

;*~

olá Froid seja bem vindo ao guj, bom voce declarou:
Double salario;
isso é valido, porem acredito que vc quis dizer isso:
double salario
pois acima vc tem um tipo primitivo double e nao um objeto Double.. existe uma diferente entre double e Double que vc vai aprender futuramente..... altere o tipo da sua variavel salario... não vou me aprofundar no assunto para nao confudir e atrapalhar seu aprendizado... la na frente quando vc conhecer wrappers vai ver isso Double, Integer ai quem sabe pode surgir uma duvida, vc posta e nos de ti ajuda valeu..sucesso.. qualquer duvida que tiver pode postar no forum...
Criado 20 de abril de 2007
Ultima resposta 20 de abr. de 2007
Respostas 3
Participantes 4