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

Dúvida no Ex. 2 da Aula 3 - Começando com Orientação a objetos

Olá pessoal, estou com dificuldade em encontrar o erro

a compilação não retorna erro, mas ao executar ele retorna o erro abaixo:

Erro: o método main não foi encontrado na classe Funcionario; defina o método main como: public static void main(String[] args) ou uma classe de aplicativo JavaFX deve expandir javafx.application.Application

class Funcionario{

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

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

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

class TestaFuncionario{

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

        f1.nome = "Hugo";
        f1.salario = 100;
        f1.recebeAumento(50);

        System.out.println("salario atual: "+f1.salario);
        System.out.println("ganho anual: "+f1.calculaGanhoAnual());

    }

}
4 respostas

Acho que sei o que ocorreu pessoal, erro de principiante. Comi mosca no momento de salvar o programa.

Salvei o programa com o nome Funcionario.java e não com o nome da classe do metodo main..

Cleiton copiei suas classes e testei aqui, ambas estão funcionando perfeitamente, sempre costumo ter um arquivo .java para cada classe que vou criar, evito ao máximo em um único arquivo ter mais de uma classe justamente por esses e outros motivos.

No seu caso não sei ao certo qual o problema pode ter ocorrido, talvez você escreveu o nome do arquivo .java errado, ai quando renoemou a o arquivo foi corrigido, pois tanto em arquivos únicos como separados ao compilar o arquivo .java ele deveria gerar para você dois arquivos .class.

Caso o nome do arquivo seja Funcionario.java

javac Funcionario.java

Caso o nome do arquivo seja TestaFuncionario.java

javac TestaFuncionario.java

Em ambos os casos sua saída deverá ser dois arquivos .class:

  • Funcinario.class
  • TestaFuncionario.class

Acredito que de início o nome estava errado.

solução!

Então Matheus, como estou seguindo as aulas , por enquanto preferi deixar tudo num arquivo .java só.

Nesse caso estava compilando a classe Funcionario.java e não TestaFuncionario.java

Mas agora to ligado no movimento..

obrigado pelo retorno.

De nada, sempre que tiver dúvidas é só nos avisar.