Preciso fazer um programa que receba um número do usuário e mostre todos os números pares e ímpares, separadamente, a partir do 0, até o número que o usuário digitou.
Do jeito que estou fazendo imprime na tela apenas os valores como true ou false e não os números.
Deixa eu dar uma olhada no código
package br.com.estudojava.livro.capituloii;
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
public class Teste {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("Sua mensagem aqui: ");
int numero = scanner.nextInt();
int contador = 0;
ArrayList<Integer> pares = new ArrayList<>();
ArrayList<Integer> impares = new ArrayList<>();
while (contador <= numero) {
if (contador % 2 == 0) {
pares.add(contador);
contador++;
} else {
impares.add(contador);
contador++;
}
}
System.out.println("Números pares");
for (Integer i : pares) {
System.out.println(i);
}
System.out.println("Números ímpares");
for (Integer i : impares) {
System.out.println(i);
}
}
}
Não conseguimos ver o jeito que você está fazendo se não postar o código.
Matheus, apesar da sua intenção ser boa, tente adotar o ditado “dê o peixe a um homem e ele matará sua fome no dia. Ensine o homem a pescar e ele nunca mais passará fome”. Fora que estou pensando que ele deve estar começando agora em Java, talvez o uso de Arraylist o assuste. Dá pra fazer com um vetor normal…
Na verdade tentando arrumar o código, eu criei um loop infinito.
Não tenho ideia de como usando só o while e o if escrever algo que fosse do 0 até o número que o usuário digitou.
Meu código no momento tá assim:
Scanner entrada = new Scanner (System.in);
int num;
System.out.println("Digite um número: ");
num = entrada.nextInt();
while(num>0){
if(num%2==0){
System.out.println("Números pares: ");
System.out.println(num++);
num++;
}
}
while(num>0){
if(num%2!=0){
System.out.println("Números impares: "+num++);
num++;
E precisa ser com while
? Não pode ser com for
?
Usando for
:
int ate = Integer.parseInt(entrada.nextLine());
for (int de = 0; de < ate; de++) {
// aqui escreve algo
}
Usando while
:
int de = 0;
int ate = Integer.parseInt(entrada.nextLine());
while (de < ate) {
// aqui escreve algo
de++;
}
É só usando o laço while mesmo
e eu não entendi essa linha do código
int ate = Integer.parseInt(entrada.nextLine());
Poderia me explicar pfv?