Codigo simples

4 respostas
syaoran

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);

}

}

4 Respostas

leonardofl

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
pjota

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

syaoran

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?

pjota

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;
Criado 14 de agosto de 2010
Ultima resposta 14 de ago. de 2010
Respostas 4
Participantes 3