Fazendo o exercício eu queria que os números pares fossem separados por vírgula (,), porém o problema era que após o último número par da lista não deveria ser mostrada uma vírgula, e sim um ponto(.). Depois de várias tentativas pra fazer isso logo após os testes pra saber se o número é par, e vendo que o código estava ficando extenso e estranho, percebi que tinha uma forma muito melhor e mais simples.
A solução foi que a cada teste verdadeiro se o número fosse positivo, eu ia adicionando ele a uma nova lista somente de números positivos, assim eu conseguiria escrever todos os números na tela separados por vírgula e com um ponto final após o último de uma maneira bem mais fácil
Gostaria da avaliação dos professores pra saber se está correto e se existiria alguma forma melhor além dessa. (Claro, com o conteúdo que tive até aqui, na aula 3)
/ Exercício: Números inteiros pares
List<int> numeros = new List<int> {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 15, 18, 19, 21, 24, 88, 99};
List<int> numerosParesFor = new List<int>();
List<int> numerosParesForeach = new List<int>();
// USANDO FOR
Console.WriteLine("Usando FOR");
Console.Write("Os números pares são: ");
// Identificando se o número é par ou ímpar e, caso seja par, adiciono ele a uma nova lista só de números pares.
for (int i = 0; i < numeros.Count; i++)
{
if (numeros[i] % 2 == 0)
{
numerosParesFor.Add(numeros[i]);
}
}
// Escrevendo na tela a lista de números pares.
// Fiz separado para conseguir escrever os números separados por vírgula e colocar um ponto após o último.
for (int i = 0; i < numerosParesFor.Count; i++)
{
if (i != numerosParesFor.Count - 1)
{
Console.Write($"{numerosParesFor[i]}, ");
} else
{
Console.Write($"{numerosParesFor[i]}. ");
}
}
// USANDO FOREACH
int indice = 0; // Variável auxiliar para ajudar no acesso ao índice de numerosParesForeach
Console.WriteLine("\n\nUsando FOREACH");
Console.Write("Os números pares são: ");
// Identificando se o número é par ou ímpar e, caso seja par, adiciono ele a uma nova lista só de números pares.
foreach (int i in numeros)
{
if (i % 2 == 0)
{
numerosParesForeach.Add(i);
}
}
// Escrevendo na tela a lista de números pares.
// Fiz separado para conseguir escrever os números separados por vírgula e colocar um ponto após o último.
foreach (int i in numerosParesForeach)
{
if (indice != numerosParesForeach.Count - 1)
{
Console.Write($"{numerosParesForeach[indice]}, ");
indice++;
}else
{
Console.Write($"{numerosParesForeach[indice]}.");
}
}