Atividade 06: Programação Funcional
Exercício 01: Imprimindo Alunos
Seção intitulada “Exercício 01: Imprimindo Alunos”Criar um programa, utilizando o método forEach, para exibir as informações de uma lista de alunos.
Instruções
Seção intitulada “Instruções”- Crie uma classe chamada
Alunocom os atributosnome,cursoenota; - No método
mainda classe principal:- Crie uma lista de
Alunocom pelo menos 5 alunos diferentes; - Use o método
forEachpara imprimir cada aluno no formatonome - curso: nota; - Use o método
forEachnovamente, agora com uma method reference (System.out::println), para imprimir apenas os nomes dos alunos com nota maior ou igual a 6.
- Crie uma lista de
Entradas (inputs)
Seção intitulada “Entradas (inputs)”Ana / Engenharia de Software / 8.5Bruno / Design / 5.0Carla / Ciência da Computação / 7.0Diego / Jogos Digitais / 9.0Elisa / Engenharia de Software / 4.5Saídas (outputs)
Seção intitulada “Saídas (outputs)”Ana - Engenharia de Software: 8.5Bruno - Design: 5.0Carla - Ciência da Computação: 7.0Diego - Jogos Digitais: 9.0Elisa - Engenharia de Software: 4.5
Aprovados:AnaCarlaDiegoExercício 02: Transformando Produtos
Seção intitulada “Exercício 02: Transformando Produtos”Criar um programa, utilizando stream, map e toList, para transformar uma lista de produtos em uma lista de textos.
Instruções
Seção intitulada “Instruções”- Crie uma classe chamada
Produtocom os atributosnome,precoecategoria; - No método
mainda classe principal:- Crie uma lista de
Produtocom pelo menos 5 produtos; - Crie uma
List<String>contendo o textonome - R$ precopara cada produto, usandostream(),mapetoList; - Imprima a lista resultante.
- Crie uma lista de
Entradas (inputs)
Seção intitulada “Entradas (inputs)”Notebook / R$ 3500.00 / InformáticaMouse / R$ 80.00 / PeriféricosTeclado / R$ 150.00 / PeriféricosMonitor / R$ 1200.00 / InformáticaHeadset / R$ 300.00 / PeriféricosSaídas (outputs)
Seção intitulada “Saídas (outputs)”[Notebook - R$ 3500.0, Mouse - R$ 80.0, Teclado - R$ 150.0, Monitor - R$ 1200.0, Headset - R$ 300.0]Exercício 03: Produtos em Promoção
Seção intitulada “Exercício 03: Produtos em Promoção”Criar um programa, utilizando filter, map, sorted e toList, para retornar os produtos com preço até um valor máximo, ordenados do mais barato para o mais caro.
Instruções
Seção intitulada “Instruções”- Utilize a mesma classe
Produtodo exercício anterior; - Crie um método que receba a lista de produtos e um valor máximo de promoção e retorne uma
List<String>com o textonome - R$ precodos produtos com preço menor ou igual ao valor máximo, ordenados por preço (do menor para o maior); - No método
main, chame o método passando a lista de produtos e o valor máximo300e imprima o resultado.
Entradas (inputs)
Seção intitulada “Entradas (inputs)”Notebook / R$ 3500.00 / InformáticaMouse / R$ 80.00 / PeriféricosTeclado / R$ 150.00 / PeriféricosMonitor / R$ 1200.00 / InformáticaHeadset / R$ 300.00 / PeriféricosValor máximo: 300Saídas (outputs)
Seção intitulada “Saídas (outputs)”[Mouse - R$ 80.0, Teclado - R$ 150.0, Headset - R$ 300.0]Exercício 04 (Bônus): Totais e Verificações
Seção intitulada “Exercício 04 (Bônus): Totais e Verificações”Criar um programa, utilizando mapToInt, reduce e os métodos de verificação de streams, para calcular totais e verificar condições sobre a lista de produtos.
Instruções
Seção intitulada “Instruções”- Utilize a mesma lista de produtos dos exercícios anteriores;
- Use
mapToInt/sum(oureduce) para calcular o preço total da lista; - Use
average()para calcular o preço médio; - Use
anyMatchpara verificar se existe algum produto com preço acima de R$ 1000; - Use
allMatchpara verificar se todos os produtos custam menos de R$ 4000; - Imprima os resultados.
Entradas (inputs)
Seção intitulada “Entradas (inputs)”Notebook / R$ 3500.00Mouse / R$ 80.00Teclado / R$ 150.00Monitor / R$ 1200.00Headset / R$ 300.00Saídas (outputs)
Seção intitulada “Saídas (outputs)”Preço total: R$ 5230.0Preço médio: R$ 1046.0Existe produto acima de R$ 1000? trueTodos os produtos custam menos de R$ 4000? true