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

Exercicio 2 Orientação a Objetos

Não entendi pq da erro na linda que eu declaro o metodo main... fala q n pode ser declarado como static.

'''class Funcionario {

String nome; String departamento; double salario; String dataEntrada; String RG;

void recebeAumento(double valorAumentaSalario) {

this.salario += valorAumentaSalario;

}

double calculaGanhoAnual() {

this.salario = this.salario*12; System.out.println("Ganho anual é de: " + this.salario);

return salario; }

class TestaFuncionario {

public static void main (String args[]) {

Funcionario Rafael = new Funcionario();

Rafael.nome = "Rafael Cambraia"; Rafael.departamento = "TI"; Rafael.salario = 500.0; Rafael.dataEntrada = "15/06/1995"; Rafael.RG = "123456789";

Rafael.recebeAumento(100.0); Rafael.calculaGanhoAnual(); } } }'''

5 respostas

Fala Rafael blz cara? Então, qual a mensagem você esta recebendo ao tentar compilar seu código? Dei uma olhada em seu código e notei que o método principal possui um pequeno erro pois o colchetes fica em String[] e não em args... Acredito que possa ser esse o problema, aguardo sua resposta. Valeu!

Defina sua classe TestaFuncionario como public caso as duas classes estiverem no mesmo arquivo e só uma das classes poderão ser public, caso for dois arquivo separado a classe Funcionario também deverá ser public. Além disso a classe que for definida como public obrigatoriamente terá que ser o nome igual a do arquivo

class Funcionario{
  //membros da classe
}
public class TestaFuncionario{
 public static void main(String[] args){
 }
}

Então, o erro que aparece é esse: "The method main cannot be declared static; static methods can only be declared in a static or top level type". a solução que o eclipse sugere é que eu tire o static do main OU que eu defina meu metodo testaFuncionario como statico tbm... Referente ao colchetes sempre usei desse jeito, mas coloquei ele na frente do String como vc sugeriu.

Diego tbm n funcionou, gerou o mesmo erro...

solução!

Joguei seu código no meu Eclipse, o erro está na chaves você esta fechando a classe TestaFuncionario dentro da classe Funcionario, por isso do erra, segue o código corrigido.

class Funcionario {

    String nome;
    String departamento;
    double salario;
    String dataEntrada;
    String RG;

    public void recebeAumento(double valorAumentaSalario) {

        this.salario += valorAumentaSalario;

    }

    public double calculaGanhoAnual() {

        this.salario = this.salario * 12;
        System.out.println("Ganho anual é de: " + this.salario);

        return salario;
    }
}

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

            Funcionario Rafael = new Funcionario();

            Rafael.nome = "Rafael Cambraia";
            Rafael.departamento = "TI";
            Rafael.salario = 500.0;
            Rafael.dataEntrada = "15/06/1995";
            Rafael.RG = "123456789";

            Rafael.recebeAumento(100.0);
            Rafael.calculaGanhoAnual();
        }

}

Obrigado Diego, foi um erro basico, porem, n menos importante...

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software