Codigo simples

oi estou com problema, eu fiz esse codigo no bloco de notas , rodei ele pelo Prompt de comando (javac) nao deu nenhum erro, mas qdo vou rodar com java da varios erros

class Funcionario {

double salario;
String nome;
String departamento;
double string;
String profissao;
String datadeadmicao;
boolean status;
String rg;

void bonifica(double aumento) {
double novosalario = salario + aumento;
novosalario = salario;

}
void demite() {
if (status == true){
status = false;
}
else{
status = true;
}

}
}

class TestaFuncionario {

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

f1.nome = “eduardo”;
f1.salario = 200;
f1.bonifica(50);
System.out.println(“salario atual:” + f1.salario);
}
}

Humm… vários problemas

  • cadê o método main? o que vc espera que seja executado?
  • cada arquivo deve ter somente uma classe pública, e essa classe deve ter o mesmo nome do arquivo

Estude sobre declaração de classes e modificadores de acesso (public, protected, private, “defaut”).
Você deveria ter colocado a classe TestaFuncionario como public. E você gerou bytecode antes (executando javac)?
Java é case-sensitive, então você precisa respeitar maiúsculas-minúsculas no código e também nos comandos javac e java: java TestaFuncionario

vlw as dicas o programa funcionou, mas o metodo bonifica nao funcionou, no final imprimiu o salario inicial que é 100, pq o metodo bonifica nao funcionou?

Dois problemas: o método bonifica() está (1) atribuindo duas vezes um valor à variável local novo salário. Mas (2) não atribui à variável de instância salário.
Ou seja, ele aumenta e desfaz o aumento no método. Ê chefe bom esse :slight_smile:
Você também esqueceu de jogar o novo salário na variável salário.

Quer simplificar?

salario += aumento;

Traduzindo…

salario = salario + aumento;