De forma resumida, tenho que criar funcionalidades relacionadas ao setor de RH, há dois tipos de funcionários : funcionários assalariados, que recebem por mês, e funcionários horistas, que recebem por horas trabalhadas.
Enfim, criei todos código e classes, procurei diversas formas de resolver e ver onde está o meu erro, pois acredito que seja um erro pequeno, mas que está dando um maior trabalho. Aqui está o código com todas as classes e o main:
public abstract class funcionario {
private String tipo;
String nome;
String cpf;
private String endereco;
double telefone;
String setor;
public funcionario (String nome, String cpf, String endereco, double telefone, String setor) {
this.nome=nome;
this.cpf=cpf;
this.endereco=endereco;
this.telefone=telefone;
this.setor=setor;
}
public String getTipo() {
return tipo;
}
public void setTipo(String tipo) {
this.tipo = tipo;
}
public String getcpf() {
return cpf;
}
public String getEndereco() {
return endereco;
}
public void setEndereco(String endereco) {
this.endereco = endereco;
}
public abstract double totalSalario();
public double aumentarSalario(double salarioPorcen) {
Double salario = null;
double porcentagem = 0;
salarioPorcen = (porcentagem / 100) * salario + salario;
return salarioPorcen;
}
}
public class assalariado extends funcionario {
private double salario;
public assalariado(String tipo, String nome, String cpf, String endereco, double telefone, String setor) {
super(nome, cpf, endereco, telefone, setor);
}
@Override
public String getcpf() {
return cpf;
}
public double getsalario() {
return salario;
}
@Override
public double totalSalario() {
return salario;
}
}
public class horista extends funcionario {
private double horasTrabalhadas;
private double valorHora;
public horista(String nome, String cpf, String endereco, double telefone, String setor, double horasTrabalhadas, double valorHora) {
super(nome, cpf, endereco, telefone, setor);
this.horasTrabalhadas = horasTrabalhadas;
this.valorHora = valorHora;
}
public double getHorasTrabalhadas() {
return horasTrabalhadas;
}
public void setHorasTrabalhadas(double horasTrabalhadas) {
this.horasTrabalhadas = horasTrabalhadas;
}
public double getValorHora() {
return valorHora;
}
public void setValorHora(double valorHora) {
this.valorHora = valorHora;
}
@Override
public double totalSalario() {
return horasTrabalhadas * valorHora;
}
}
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
public class ATV3RH {
public static void main(String[] args) {
Scanner entrada = new Scanner (System.in);
String resposta;
System.out.println("---------------------");
System.out.println(" Começando sistema ");
System.out.println("---------------------");
System.out.println(" ");
String tipo;
String nome;
String cpf;
String endereco;
double telefone;
String setor;
List<assalariado> assalariado = new ArrayList<>();
List<horista> horista = new ArrayList<>();
for(int i = 0 ; i < 10 ; i++) {
do {
System.out.println("----------------------------------------------------------------------------------");
System.out.println(" Comece cadastrando os dados dos funcionario (Digite 'pare' quando quiser parar): ");
System.out.println("----------------------------------------------------------------------------------");
resposta = entrada.nextLine();
System.out.println("Digite o nome: ");
nome = entrada.nextLine();
System.out.println("Digite o CPF: ");
cpf = entrada.nextLine();
System.out.println("Digite o endereço: ");
endereco = entrada.nextLine();
System.out.println("Digite o telefone: ");
telefone = entrada.nextDouble();
System.out.println("Digite o setor: ");
setor = entrada.nextLine();
System.out.println("Digite o tipo (Assalariado ou Horista): ");
tipo = entrada.nextLine();
if ("Assalariado".equals(tipo)) {
double salario;
System.out.println("Digite o seu salário: ");
salario = entrada.nextDouble();
assalariado assalariado1 = new assalariado(tipo,nome, cpf, endereco, telefone, setor);
assalariado.add((assalariado) assalariado1);
System.out.println("----------------------------");
System.out.println(" Aqui está os seus dados: ");
System.out.println("----------------------------");
System.out.println("Nome : " + nome);
System.out.println("CPF : " + assalariado1.getcpf());
System.out.println("Endereço: " + endereco);
System.out.println("Telefone: " + telefone);
System.out.println("Setor : " + setor);
System.out.println("Salário : " + assalariado1.getsalario());
} else if ("Horista".equals(tipo)) {
System.out.println("Digite as horas trabalhadas: ");
double horasTrabalhadas = entrada.nextDouble();
System.out.println("Digite o valor da hora: ");
double valorHora = entrada.nextDouble();
horista horista1 = new horista(tipo,nome, cpf, endereco, telefone, setor, horasTrabalhadas, valorHora);
horista.add((horista) horista1);
System.out.println("----------------------------");
System.out.println(" Aqui está os seus dados: ");
System.out.println("----------------------------");
System.out.println("Nome : " + nome);
System.out.println("CPF : " + horista1.getcpf());
System.out.println("Endereço: " + endereco);
System.out.println("Telefone: " + telefone);
System.out.println("Setor : " + setor);
System.out.println("Salário : " + horista1.totalSalario());
}
} while (!"pare".equals(resposta));
break;
}
Double salario = null;
double porcentagem = 0;
System.out.println("---------------------------------------------------");
System.out.println(" Agora aplique um aumento á todos os funcionarios: ");
System.out.println("---------------------------------------------------");
System.out.println("Digite a porcentagem que queira aumentar: ");
porcentagem=entrada.nextDouble();
for (assalariado funcionario : assalariado) {
funcionario.aplicarAumento(salarioPorcen);
System.out.println("Novo Salário: " + salarioPorcen);
}
for (horista funcionario : horista) {
funcionario.aplicarAumento(salarioPorcen);
System.out.println("Novo Salário: " + funcionario.salarioPorcen);
}
}
}
Com esse código, aparece esses erros:
error: cannot find symbol
System.out.println("CPF : " + assalariado1.getcpf());
symbol: method getcpf()
location: variable assalariado1 of type assalariado
error: cannot find symbol
System.out.println("Salário : " + assalariado1.getsalario());
symbol: method getsalario()
location: variable assalariado1 of type assalariado
error: cannot find symbol
System.out.println("CPF : " + horista1.getcpf());
symbol: method getcpf()
location: variable horista1 of type horista
error: cannot find symbol
System.out.println("Salário : " + horista1.totalSalario());
symbol: method totalSalario()
location: variable horista1 of type horista
error: cannot find symbol
funcionario.aplicarAumento(salarioPorcen);
symbol: variable salarioPorcen
location: class ATV3RH
error: cannot find symbol
System.out.println("Novo Salário: " + salarioPorcen);
symbol: variable salarioPorcen
location: class ATV3RH
error: cannot find symbol
funcionario.aplicarAumento(salarioPorcen);
symbol: variable salarioPorcen
location: class ATV3RH
error: cannot find symbol
System.out.println("Novo Salário: " + funcionario.salarioPorcen);
symbol: variable salarioPorcen
location: variable funcionario of type horista
8 errors