I want to create an employee class with the following specifications, but I can not return the show data method and the salary calculation method. It gives compilation errors when calling the methods, I wanted to know how I can define their call, because something is wrong. Thank you in advance.
The employee should have:
- Name, age, hourly wage and hours worked in the month.
- Class attributes must be encapsulated.
- There should be getters methods for all and setters for hourly and hourly hours worked in the month.
- There is a rule that the hourly wage must be between 10 and 200.
- There is a rule that hours worked in the month can not exceed 160 hours.
- method
mostrarDados()
is used to display all employee information in the console.- method
calcularSalario()
returns the value of the employee's salary. This amount is obtained by multiplying the employee's hourly wage and hours worked in the month.
Class Funcionario
:
public class Funcionario {
private String nome;
private int idade;
private int salario_Hora;
private int horas_trab_mes;
public double getSalario_Hora() {
return salario_Hora;
}
public void setSalario_Hora(double salario_Hora) {
if (salario_Hora>10 & salario_Hora<=200){
this.salario_Hora = salario_Hora;
}
}
public double getHoras_trab_mes() {
if (horas_trab_mes<=160){
return horas_trab_mes;
}
}
public void setHoras_trab_mes(double horas_trab_mes) {
this.horas_trab_mes = horas_trab_mes;
}
public String getNome() {
return nome;
}
public int getIdade() {
return idade;
}
public void mostrarDados(){
System.out.println("O nome do funcionário é"+getNome());
System.out.println("A idade do funcionário é"+getIdade);
System.out.println("O número de horas trabalhadas do funcionário é "+horas_trab_mes);
System.out.println("O salário por hora do funcionário é"+salario_Hora);
}
private double calcularSalario(){
return salario_Hora*horas_trab_mes;
}
}
Class Aplicacao
:
public class Aplicacao {
public static void main(String[] args) {
Funcionario f= new Funcionario();
f.setHoras_trab_mes(100);
f.setSalario_Hora(100);
System.out.println("Os dados do funcionário são:"+ f.mostrarDados();
System.out.println("O salário do funcionário é:"+ f.calcularSalario();
}
}
}
When trying to compile, I get the following errors:
C:\Projetos\Funcionario\src\Aplicacao.java:9: error: ')' expected
System.out.println("Os dados do funcionário são:"+ f.mostrarDados();
C:\Projetos\Funcionario\src\Aplicacao.java:10: error: ')' expected
System.out.println("O salário do funcionário é:"+ f.calcularSalario();
C:\Projetos\Funcionario\src\Aplicacao.java:14: error: class, interface, or enum expected
}
3 errors
C:\Projetos\Funcionario\src\Funcionario.java:14: error: incompatible types: possible lossy conversion from double to int
this.salario_Hora = salario_Hora;
C:\Projetos\Funcionario\src\Funcionario.java:25: error: incompatible types: possible lossy conversion from double to int
this.horas_trab_mes = horas_trab_mes;
C:\Projetos\Funcionario\src\Funcionario.java:36: error: cannot find symbol
System.out.println("A idade do funcionário é"+getIdade);
symbol: variable getIdade
location: class Funcionario
3 errors