Bom pessoal estou fazendo um exercício bem simples que consiste em pegar o nome do Funcionário, suas horas trabalhadas e o valor de cada hora trabalhada. Eu somente preciso calcular o salário bruto do funcionario e retornar este valor , mas aí está o problema …
import java.util.ArrayList;
import java.util.Scanner;
public class Funcionario {
private static final int TAMANHO_LISTA = 3;
private String sNome;
private int iHorasTrabalhadas;
private double dValorPorHorasTrab;
private double dSalarioBruto;
Scanner s = new Scanner(System.in);
static ArrayList <Funcionario>array = new ArrayList<Funcionario>();
// Métodos "get" da classe Funcionario.
public String getNome(){
return sNome;
}
public int getHorasTrabalhadas(){
return iHorasTrabalhadas;
}
public double getValorPorHorasTrab(){
return dValorPorHorasTrab;
}
//set e get do atributo "dSalarioBruto"
public void setSalarioBruto(double dVarSalBruto){
this.dSalarioBruto = dVarSalBruto;
}
public double getSalarioBruto(){
return dSalarioBruto;
}
//Contrutor de Funcionario.
public Funcionario(String sNome, int iHorasTrab, double dValorHoraTrab){
this.sNome = sNome;
this.iHorasTrabalhadas = iHorasTrab;
this.dValorPorHorasTrab = dValorHoraTrab;
}
private double calculaSalarioBruto(){
//problema aqui... deveria retornar o valor...
return getHorasTrabalhadas() * getValorPorHorasTrab();
}
public void recebeDados(){
for(int y = 0; y<TAMANHO_LISTA; y++){
System.out.println("Nome do Funcionário: ");
String sVarNome = s.nextLine();s.nextLine();
System.out.println("Horas Trabalhadas: ");
int iVarHorasTrab = s.nextInt();
System.out.println("Valor por hora trabalhada: ");
double dVarValorPorHora = s.nextDouble();
Funcionario obj = new Funcionario(sVarNome,iVarHorasTrab,dVarValorPorHora);
obj.setSalarioBruto(calculaSalarioBruto()); // aqui deveria inserir o valor retornado do método de cáculo de salário bruto para a inserção no "setSalarioBruto".
addFuncionario(obj);
}
}
public void imprimeFuncionario(){
for(int x=0; x<TAMANHO_LISTA; x++){
if(array.size() > 0){
System.out.println("Nome: "+array.get(x).getNome());
System.out.println("Horas trabalhadas: "+array.get(x).getHorasTrabalhadas());;
System.out.println("Ganhos por hora: "+array.get(x).getValorPorHorasTrab());
System.out.println("Salário bruto: "+array.get(x).getSalarioBruto()); // não consigo calcular o salario bruto do funcionario.
}
else{
System.out.println("Não existe funcionarios cadastrados.");
}
}
}
}// fim classe
Claro tem o método de adicionar funcionarios no array … mas este não é o caso … o erro está no método “calculaSalarioBruto()” ao meu ver … desculpe se meu código está confuso … é pq estou recém iniciando na programação … se alguém tiver algumas dicas de refatoração neste código serão bem vindas tb. ^^
Desde já obrigado pela ajuda !!
Marcos
… quem sabe mais para frente ^^