Salvar a Saida de dados em um array

3 respostas
pooprogramaçãojava
R

package exerciciojava3;

import java.util.Scanner;

public class Numeros {
Scanner teclado = new Scanner(System.in);

public void somavezes(){
    
    System.out.print("Digite um numero: ");
    int numero = teclado.nextInt();
    
    boolean real = false;
         if(numero%2 == 0){
        real=true;
}
    if(real==true){
    System.out.println("O numero " + numero + " é par");
    if (numero%2 ==0){
            //System.out.println("A soma total de todos os números pares é: " + numero*2);
            System.out.print("Todos os numeros pares que podem ser formados abaixo do seu numero : \n");
            
}
        while(numero%2 ==0){
            numero-=2;
            System.out.println(numero);
            
            if(numero==2 || numero==(0)){
                break;
}
}
}
        if (numero%2 !=0){
           
            System.out.println("O numero " + numero + " é impar");
            System.out.print("Todos os numeros impares que podem ser formados abaixo do seu numero : \n");
}
        while(numero%2 !=0){
            numero-=2;
            int numeros = numero;
            System.out.println(numeros);
            if(numero==1 || numero==(-1)){
                break;
                        
}
}
}
}

Esse codigo retorna
Digite um numero: 11
O numero 11 é impar
Todos os numeros impares que podem ser formados abaixo do seu numero :
9
7
5
3
1

Queria um código para salvar todas as saidas de dados em algo e depois mostrar a soma de todos,salvar o 9,7,5,3,1 e mostrar a soma deles e aparecer " A soma de todos os numeros é 25"

3 Respostas

P

vamos la.

seu loop while é esquisito. se o numero é impar, toda a vez que vc subtrair 2 ele vai continuar impar. acredite.

sendo assim vc quer fazer um while enquanto o numero é positivo.

entretanto vc começa com o numero logo abaixo do numero informado

me parece um loop for

// for ( inicio ; condição; incremento )
for( numero =- 2; numero >0; numero =- 2 ){
   // magica
}

agora se vc quer somar todos, vc pode simplesmente criar uma variavel Soma

int soma = 0;
for( numero =- 2; numero >0; numero =- 2 ){
   // magica
  soma += numero;
}

vc não precisa armazenar em nenhum lugar.

SE vc quiser armazenar, um ArrayList pode ser indicado

R

Muito obrgado,você me iluminou,mesmo estudando muito lógica as vezes me perco
vê só eu tenho uma array no while que retorna [13, 11, 9, 7, 5, 3, 1]
como eu faria pra somar esses valores dentro do ArrayList?

P

vamos la, pra que vc precisa desse arraylist?

se vc ainda acha que precisa, veja esse topico:

Criado 29 de setembro de 2018
Ultima resposta 2 de out. de 2018
Respostas 3
Participantes 2