Faça uma array que leia 20 números inteiros e mostre: a quantidade de números pares, a quantidade de números ímpares, os números pares e os números ímpares.
A primeira coisa que fiz foi instanciar uma classe Scanner para obter o numero de alocações no array, sei que o enunciado já nos da este valor, mas quero deixar o exercício mais dinâmico, deixando o usuário definir a quantidade de posições no Array.
Então comecei desta forma:
import java.util.Scanner;
public class Exercicio05Array {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
}
}
Agora vou criar um array de inteiros, mas minha primeira duvida é, como pegar o valor digitado pelo usuario, e deixar ele como parametro para criação do array
sei que um array é criado desta forma
int[] qtd = new int[20];
mas como disse quero que esta variavel qtd seja definida pelo usuario…como faço isto?
Está correto desta forma?
import java.util.Scanner;
public class Exercicio05Array {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in); // le o valor digitado pelo usuario
int tamanho = Integer.parseInt(sc.nextLine());//
int[] qtd = new int[tamanho]; // cria um array com o tamanho especificado
System.out.print("Digite a quantidade de números:");
tamanho = sc.nextInt();
}
}
O exercício já pede um array de 20 posições, você pode declarar o mesmo já com o tamanho fixado!
Depois disso, precisará de um laço de repetição para alimentar o array com números aleatórios e na sequência compará-los para saber se cada valor do array é par ou ímpar.
1 curtida
@Jonathan_Medeiros sim o enunciado me da a informação, mas eu quero propositalmente mudar isto para que o usuário defina o valor, ou seja, pode ser 10 posições, 20, 30 ou mais…o resto do enunciado irei seguir a risca
1 curtida
Então está no caminho certo, agora é só seguir os passos referente ao laço de repetição e comparações de par/ímpar!
1 curtida
@Jonathan_Medeiros
Bom dia.
Consegui finalizar a parte onde o usuário determina a quantidade de vetores, o código ficou desta forma:
import java.util.Scanner;
public class Exercicio05Array {
public static void main(String[] args) {
@SuppressWarnings("resource")
Scanner sc = new Scanner(System.in); // le o valor digitado pelo usuario
int tamanho;
System.out.print("Digite a quantidade de números: ");
tamanho = sc.nextInt();
int[] qtd = new int[tamanho];
System.out.println();
for (int i = 0; i < qtd.length; i++) {
System.out.print("Informe o " + (i + 1) + "º número: ");
qtd[i] = sc.nextInt();
}
}
}
Tela Console até o momento:
Agora na segunda parte o sistema deve informar a quantidade de números pares e a quantidade de números impares…Ficando mais ou menos assim (seguindo os numeros informados na imagem acima):
Total de numeros Pares: 10
Total de numeros Imapres: 10
poderia me dar uma ajuda de como fazer?
@Jonathan_Medeiros obg, consegui fazer a segunda parte, ficou desta forma:
import java.util.Scanner;
public class Exercicio05Array {
public static void main(String[] args) {
@SuppressWarnings("resource")
Scanner sc = new Scanner(System.in); // le o valor digitado pelo usuario
int tamanho;
int j;
int par = 0;
int impar = 0;
System.out.print("Digite a quantidade de números: ");
tamanho = sc.nextInt();
int[] qtd = new int[tamanho];
System.out.println();
for (int i = 0; i < qtd.length; i++) {
System.out.print("Informe o " + (i + 1) + "º número: ");
qtd[i] = sc.nextInt();
}
for (j = 0; j < qtd.length; j++) {
if (qtd[j] % 2 == 0) {
par++;
}
if (qtd[j] % 2 != 0) {
impar++;
}
}
System.out.println();
System.out.println("Total de números pares: " + par);
System.out.println("Total de números impares: " + impar);
}
}
1 curtida
@Jonathan_Medeiros agora como eu faço para exibir no console os numeros pares e os numeros impares digitados pelo usuario?
Pq se eu colocar System.out.println("Os números pares são: " + par);
vai exibir a quantidade de pares, mas não os números propriamente ditos
Como eu faço?
Cria 2 arrays ou 2 listas, em uma você adiciona os pares e em outra ou ímpares.
Ou pode ser até mesmo uma String e você vai concatenando os valores nela.
1 curtida
@Jonathan_Medeiros não entendi…poderia me dar um exemplo?
Exemplo com concatenação de strings:
String pares = "";
String impares = "";
for (int j = 0; j < qtd.length; j++) {
if (qtd[j] % 2 == 0) {
par++;
pares += qtd[j] + ", ";
} else {
impar++;
impares += qtd[j] + ", ";
}
}
1 curtida
@Jonathan_Medeiros deu certo…muito obg por sua explicação, consegui assimilar muito bem…obg!!!
package br.com.fjsistemas.main;
import java.util.Scanner;
public class Exercicio05Array {
public static void main(String[] args) {
@SuppressWarnings("resource")
Scanner sc = new Scanner(System.in); // le o valor digitado pelo usuario
int tamanho;
int j, e;
int par = 0;
int impar = 0;
String exibirPar = "";
String exibirImpar = "";
System.out.print("Digite a quantidade de números: ");
tamanho = sc.nextInt();
int[] qtd = new int[tamanho];
System.out.println();
for (int i = 0; i < qtd.length; i++) {
System.out.print("Informe o " + (i + 1) + "º número: ");
qtd[i] = sc.nextInt();
}
for (j = 0; j < qtd.length; j++) {
if (qtd[j] % 2 == 0) {
par++;
}
if (qtd[j] % 2 != 0) {
impar++;
}
}
for (e = 0; e < qtd.length; e++) {
if (qtd[e] % 2 == 0) {
exibirPar += qtd[e] + ", ";
} else {
exibirImpar += qtd[e] + ", ";
}
}
System.out.println();
System.out.println("Total de números pares: " + par);
System.out.println("Total de números impares: " + impar);
System.out.println();
System.out.println("Os números pares são: " + exibirPar);
System.out.println("Os números pares são: " + exibirImpar);
}
}