[JAVA] Como faço para distribuir pedidos para vários fornecedores?

Fala Galera, blz?

Preciso de ajuda, meu problema é o seguinte,

Tenho duas listas de objetos
uma de pedidos do tipo pedido
e outro fornecedor do tipo fornecedor

Eu recebo essa lista como exemplo 10 pedidos
preciso distribuir por igual os pedidos, no exemplo eu tenho 2 fornecedor
então cada fornecedor recebe 5 pedidos
se fosse o numero impar como 11 pedidos e dois fornecedores
um fornecedor leva 5
e o ultimo leva 6

a minha dúvida é como pegar os 5 primeiros pedidos da lista, setar o id_fornecedor
e buscar o restante e setar o id_fornecedor do segundo fornecedor
e se tiver um terceiro fornecedor fazer a mesma coisa.

ArrayList<Fornecedor> fornecedores = new ArrayList<>();
ArrayList<Pedidos> pedidos = new ArrayList<>();

fornecedores.add(....);// método para adicionar todos fornecedores na lista de fornecedores
pedidos.add(....); // método para adicionar todos os pedidos na lista de fornecedores.

boolean numeroPar = ((fornecedores.size() % pedidos.size()) <= 0) ? true : false;
int pedidosFornecedor = 0;
int resto = ((fornecedores.size() % pedidos.size());

if(numeroPar){
pedidosFornecedor = fornecedores.size() / pedidos.size();
System.out.println("Pedidos por fornecedores = " + pedidosFornecedor + " !");
}else{
pedidosFornecedor =  (fornecedores.size() / pedidos.size()) - (resto /2);
System.out.println("Pedidos por fornecedores = " + pedidosFornecedor + "! " + " Pedidos que sobraram: " + resto);
}

Ai agora você vai ter a variável RESTO que é quantos pedidos sobraram. Você pode utilizar a classe Random para pegar fornecedores aleátoriamente e fazer o RATEIO dos PEDIDOS que sobraram.

1 curtida