Buscar um valor na lista

1 resposta
java
W
Bom dia galera, eu sou novo na programação estou estudando e fui praticamente obrigado a criar um tópico, estou com um problema com um método eu pesquisei na internet e não achei a solução.

a ideia é

System.out.printf("Digite o ID do funcionario deseja aumentar salario: ");

int idAumento = sc.nextInt();

então o o usuário coloca um ID.

public static boolean verificar (List list, int id) {

for (Funcionario funcionario : list) {

if(funcionario.getId() == id){

return true;

}

}

return false;

}

Então como vocês podem ver o programa percorre por pela lista comparando e apenas parando quando achar o ID inserido. eai vem meu problema.

boolean pos = verificar(list, idAumento);

if (pos == false){

System.out.println(ID não existe);

}

else{

System.out.println("Entre com a porcentagem: ");

double porcento = sc.nextDouble();

.aumentarSalario(porcento);

}

ele deveria pegar o salario que está neste ID e depois fazer o calculo aumentarSalario(porcento) neste salario.

eu não sei ao certo, mas todo jeito que eu tento ele diz que é do tipo boolean mas eu não sei se tem um jeito de transformar em numero. pesquisei e continua atrás mas ainda não entendi

1 Resposta

RoinujNosde

Uma forma alternativa:

private static Funcionario procurarFuncionario(List<Funcionario> lista, int id) {
    for (Funcionario f : lista) {
       if (f.getId() == id) {
           return f;
       }
    }
    return null;
}

//usando o método
public static void main(String... args) {
    //...
    Funcionario funcionario = procurarFuncionario(lista, id);
    if (funcionario == null) {
        //ID não existe
    } else {
        //pedir porcentagem e aumentar salário
        funcionario.aumentarSalario(porcento);
    }
}
Criado 16 de maio de 2021
Ultima resposta 16 de mai. de 2021
Respostas 1
Participantes 2