Solucionado (ver solução)

Importante

Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!

Solucionado
(ver solução)
10
respostas

o método main não foi encontrado na classe funcionário.Funcionário; defina o método main como: public static void main(String[] args)

insira seu código aqui
insira seu código aqui
```

insira seu código aqui ``` /* @author Mario / class Funcionário { private String nome; private double salario;

public void SetSalario(double salario){ this.salario = salario; }

public double getBonus (){ return this.salario * 0.2; } } class TestaFuncioario { public static void main(String[] args) { Funcionário joao = new Funcionário (); joao.SetSalario(1000); System.out.println(joao.getBonus()); }

}

10 respostas
class Funcionário { 
    private String nome; 
    private double salario;

public void SetSalario(double salario){ 
    this.salario = salario; 
}

public double getBonus (){
     return this.salario * 0.2; 
} 
}
 class TestaFuncioario { 
    public static void main(String[] args) {
         Funcionário joao = new Funcionário (); 
            joao.SetSalario(1000); 
            System.out.println(joao.getBonus());
     }

}

Formatei seu código o erro que ta dando é o nome do titulo?

Seu erro deve ser porque você declarou a sua classe com um acento no á ficando assim Funcionário, e em classe não pode ir acento e , e . essas coisas, arruma o nome da classe deixando apenas Funcionario.

o método main não foi encontrado na classe funcionario.Funcionario; defina o método main como: public static void main(String[] args)

só fica dando isso

Mais você ja declarou assim public static void main(String[] args)

Cara tenta mudar essa sua classe ai de Funcionário com acento e deixa sem esse acento.

Peguei o seu código e formatei.

class Funcionário {
    private String nome;
    private double salario;

    public void SetSalario(double salario) {
        this.salario = salario;
    }

    public double getBonus() {
        return this.salario * 0.2;
    }
}

class TestaFuncioario {
    public static void main(String[] args) {
        Funcionário joao = new Funcionário();

        joao.SetSalario(1000);

        System.out.println(joao.getBonus());
    }
}

Está compilando normalmente, inclusive a saída do programa é 200.0.

Acredito que tu estejas errando algum procedimento ao testar a classe. Como tu estás fazendo para compilar o código? E como estás executando?

Editado: Java aceita caracteres Unicode tanto em strings como em identificadores. É possível, portanto, utilizar acentos e símbolos, como a letra grega π, por exemplo. No entanto, essa não é uma boa prática.

cara, to usando o net beans.

Aperto f6 pra rodar.. ai dá esse erro.

Pensei que fosse na hora de criar a classe que tava errando.

Não sei como prosseguir

Mario faz o seguinte ok? exclui o seu projeto ai e cria um novo, mais por favor sem acento porque é isso o erro.

solução!

Testei o teu código no Netbeans, está funcionando normal.

Qual o nome que tu destes ao arquivo que contém essas classes? Se não for TestaFuncioario, tenta refatorar o arquivo ou então muda o nome da classe. É importante que a classe que contém o método main esteja em um arquivo de igual nome. Essa, aliás, é uma prática muito saudável, e, em alguns casos, obrigatória. E definir várias classes em um único arquivo é uma das piores práticas possíveis.

Observação:

Há pessoas que insistem em dizer que o acento é o problema, isto está simplesmente incorreto. O uso de acentos é inválido em diversas outras linguagens, como C ou C++, mas em java é meramente uma péssima prática de programação, não um erro de sintaxe. Aos que duvidam, segue o link com a especificação da linguagem.

https://docs.oracle.com/javase/specs/jls/se8/jls8.pdf

Leiam as páginas 22-23, que versam sobre identificadores.

Consegui. Tive que renomear e colocar o testaFuncionario como public class

class Funcionario { private String nome; private double salario;

public void SetSalario(double salario){ this.salario = salario; }

public double getBonus (){ return this.salario * 0.2; } } class TestaFuncioario { public static void main(String[] args) { Funcionário joao = new Funcionário (); joao.SetSalario(1000); System.out.println(joao.getBonus()); }

}