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

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

Olá pessoal, eu estou com uma dúvida para fazer o mostra(), pois dá dois erros 1º:"illegal start of expression" e 2º:" ';' expected". Mas se eu apagar o recebeAumento e o "marcos.mostra" o erro some. Desde já agradeço pela ajuda Mando meu código abaixo:

class Funcionario {
    double salario;
    String nome;
    String cpf;
    String rg;
    String departamento;
    String profissao;
    int qualidade;


    void recebeAumento(double aumento) {

    if(this.qualidade>1){
    this.salario+=aumento;
    }else{
    this.salario-=aumento;
         }


        void mostra(){
          System.out.println("o nome é "+this.nome);
          System.out.println("o cpf é "+this.rg);
          System.out.println("seu departamento é "+this.departamento);
          System.out.println("sua profissao é " +this.profissao);
          System.out.println("seu salario é "+this.salario);
        }
}     




class testafuncionarios {
    public static void main(String[] args){
        Funcionario marcos = new Funcionario();
        marcos.nome="marcos leal";
        marcos.salario=2000.0;
        marcos.cpf="123456789";
        marcos.rg="987654321";
        marcos.departamento="venda";
        marcos.profissao="gerente";
        marcos.qualidade=1;
        marcos.recebeAumento(500.0);
        System.out.println("Nome: "+marcos.mostra);


}
}
2 respostas
solução!

Olá Matheus! Veja só, o primeiro erro está sendo gerado porque faltou você fechar o bloco de código do seu método recebeAumento()

Ele está assim:

void recebeAumento(double aumento) {

    if(this.qualidade>1){
    this.salario+=aumento;
    }else{
    this.salario-=aumento;
         }

Quando o correto seria:

void recebeAumento(double aumento) {

    if(this.qualidade>1){
    this.salario+=aumento;
    }else{
    this.salario-=aumento;
         }
}

Já o segundo erro é porque você não está chamando o método mostra() corretamente. O correto seria você não usar o System.out.println() e simplesmente fazer marcos.mostra() ficando assim:

class testafuncionarios {
    public static void main(String[] args){
        Funcionario marcos = new Funcionario();
        marcos.nome="marcos leal";
        marcos.salario=2000.0;
        marcos.cpf="123456789";
        marcos.rg="987654321";
        marcos.departamento="venda";
        marcos.profissao="gerente";
        marcos.qualidade=1;
        marcos.recebeAumento(500.0);
        marcos.mostra();


    }
}

Espero ter ajudado, Bons Estudos!

Muito obrigado! funcionou perfeitamente!