Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Não estou encontrando o erro


package Funcionario;


    public class Funcionario {

        private static void  main (String [] args) {    

            Funcionario Funcionario;
            Funcionario = new Funcionario();

            Funcionario.nome = "Jose";
            Funcionario.salario = 1000.0;
            Funcionario.RG ="123.456.789-0";
            Funcionario.departamento = "TI";
            Funcionario.funcao = "Desenvolvedor Java Jr.";
            Funcionario.dataEntrada = "10/04/2017";

            Funcionario.mostra ();

        class Funcion {
          String nome;
          String RG;
          String departamento;
          String funcao;
          double salario;
          String dataEntrada;

          void recebeAumento(double percentualAumento) {
            this.salario += (salario * percentualAumento);
          }

          double calculaGanhoAnual() {
            return this.salario * 12;
          }

          void mostra(){
            System.out.println("Nome: " + this.nome);
            System.out.println("RG: " + this.RG);
            System.out.println("Funcao: " + this.funcao);
            System.out.println("Departamento: " + this.departamento);
            System.out.println("Salario: " + this.salario);
            System.out.println("Data de Entrada: " + this.dataEntrada);
          }
        }
    }
    }
2 respostas

Oi Cristiano, tudo bem?

Neste caso, teríamos 2 classes. Uma TestaFuncionario e uma Funcionario.

  • Nossa classe Funcionario será uma classe que representa o nosso modelo de Funcionário

  • E Nossa classe TestaFuncionario será responsável por ter o método main() que fará operações usando a classe Funcionário.

Então aqui teremos algo como


package Funcionario

public class TesteFuncionario { 
    public static void main(String args[]){ 
    ....
    ....//operações com Funcionario
    ...
    }

    class Funcionario { 
        String nome;
        String Rg;
        double salario;
        ...//e os outros atributos

        //e aqui vao os metodos da classe Funcionario
        void recebeAumento(double percentualAumento) {
            this.salario += (salario * percentualAumento);
          }
        double calculaGanhoAnual() {
            return this.salario * 12;
          }

        void mostra(){
            System.out.println("Nome: " + this.nome);
            System.out.println("RG: " + this.RG);
            System.out.println("Funcao: " + this.funcao);
            System.out.println("Departamento: " + this.departamento);
            System.out.println("Salario: " + this.salario);
            System.out.println("Data de Entrada: " + this.dataEntrada);
          }


}

Ficou mais claro?

Abraços

solução!

Observação:

Nas operações de usuário, você escreveu

        Funcionario Funcionario;
            Funcionario = new Funcionario();

            Funcionario.nome = "Jose";
            Funcionario.salario = 1000.0;
            Funcionario.RG ="123.456.789-0";
            Funcionario.departamento = "TI";
            Funcionario.funcao = "Desenvolvedor Java Jr.";
            Funcionario.dataEntrada = "10/04/2017";

            Funcionario.mostra ();

porém não podemos declarar uma classe assim. O nome da variável não pode começar com letra maiúscula.

funciona assim:

TipoDaClasse nomeDaVariavel = new TipoDaClasse();

Ou seja

Funcionario funcionario = new Funcionario();

Repare que o funcionario é uma variável e está comecando com letra minuscula. O nome da variável pode mudar de acordo com a sua preferência: f1, func, funcionario.. O importante é começar com letra minúscula e que seja um nome bom pra facilitar a leitura.

Por isso, quando estamos manipulando a variável do tipo Funcionário, usamos ela para fazer atribuições e chamar seus métodos. Por exemplo:

f1.nome = "Jose";
f1.mostra();