Erro com getters /setters e usar um objeto e filas

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

Bom, tem uma série de problemas no seu código:

  1. Não é um erro, mas o nome de classe deveria começar com letra maiúscula. Além disso, procure declarar variáveis o mais próximo possível de onde for usa-las.
  2. Tanto a classe Horista, quanto a Assalariado não deveriam ter um atributo chamado tipo. O tipo você sabe pela classe. O construtor do horista também não espera esse parâmetro, mas vc está tentando usa-lo no main.
  3. Aquele for ali, no fundo, não está fazendo nada. Remova ele.
  4. O seu método de aumento chama-se aumentarSalario e não aplicarAumento
  5. Você cria uma variável chamada porcentagem e está tentando usar uma chamada salarioPorcen.
  6. Falta parte dos getters
  7. Você deve usar o polimorfismo (deve ser, inclusive, o objetivo do exercício)

Aqui estão as classes corrigidas. Procure estudar e entender o que está fazendo:

public abstract class Funcionario {
    private String nome;
    private String cpf;
    private String endereco;
    private double telefone;
    private 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 getNome() {
        return nome;
    }

    public String getTipo() {
        return getClass().getName();
    }
    
    public String getCPF() {
        return cpf;
    }

    public double getTelefone() {
        return telefone;
    }

    public String getEndereco() {
        return endereco;
    }

    public String getSetor() {
        return setor;
    }

    public void setEndereco(String endereco) {
        this.endereco = endereco;
    }
    
    public abstract double totalSalario();
    
    public double aumentarSalario(double porcentagem) {
        return (porcentagem / 100.0) * totalSalario() + totalSalario();
    }
}
public class Assalariado extends Funcionario {
    private double salario;
    
    public Assalariado(String nome, String cpf, String endereco, double telefone, String setor, double salario) {
        super(nome, cpf, endereco, telefone, setor);
        this.salario = 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.Scanner;

public class ATV3RH {

    public static void main(String[] args) {
        var entrada = new Scanner(System.in);

        System.out.println("---------------------");
        System.out.println("  Começando sistema  ");
        System.out.println("---------------------");
        System.out.println("          ");

        var funcionarios = new ArrayList<Funcionario>();

        String resposta;
        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: ");
            var nome = entrada.nextLine();

            System.out.println("Digite o CPF: ");
            var cpf = entrada.nextLine();

            System.out.println("Digite o endereço: ");
            var endereco = entrada.nextLine();

            System.out.println("Digite o telefone: ");
            var telefone = Double.parseDouble(entrada.nextLine());

            System.out.println("Digite o setor: ");
            var setor = entrada.nextLine();

            System.out.println("Digite o tipo (Assalariado ou Horista): ");
            var tipo = entrada.nextLine();

            Funcionario novo = null;
            if ("Assalariado".equals(tipo)) {
                System.out.println("Digite o seu salário: ");
                var salario = Double.parseDouble(entrada.nextLine());
                novo = new Assalariado(nome, cpf, endereco, telefone, setor, salario);
            } else if ("Horista".equals(tipo)) {
                System.out.println("Digite as horas trabalhadas: ");
                var horasTrabalhadas = Double.parseDouble(entrada.nextLine());
                System.out.println("Digite o valor da hora: ");
                var valorHora = Double.parseDouble(entrada.nextLine());
                novo = new Horista(nome, cpf, endereco, telefone, setor, horasTrabalhadas, valorHora);
            }

            if (novo != null) {
                funcionarios.add(novo);
                System.out.println("----------------------------");
                System.out.println("  Aqui está os seus dados:  ");
                System.out.println("----------------------------");

                System.out.println("Nome    : " + novo.getNome());
                System.out.println("CPF     : " + novo.getCPF());
                System.out.println("Endereço: " + novo.getEndereco());
                System.out.println("Telefone: " + novo.getTelefone());
                System.out.println("Setor   : " + novo.getSetor());
                System.out.println("Salário : " + novo.totalSalario());
                System.out.println("Tipo    : " + novo.getTipo());
            } else {
                System.out.println("Tipo inválido! Funcionário não inserido.");
            }
        } while (!"pare".equals(resposta));

        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: ");
        var porcentagem = Double.parseDouble(entrada.nextLine());

        for (var funcionario : funcionarios) {
            System.out.println("Novo Salário: " + funcionario.aumentarSalario(porcentagem));
        }
    }
}
1 curtida