Guardar valores dentro de uma variável em um while ou for

Olá,

Desejo guardar valores dentro de uma variável, fazendo com que o número guardado na variável anterior não seja perdido. Vamos lá um exemplo:



import java.util.Scanner;
public class test {
	
	public static void main(String args[])
	{
		
		Scanner input = new Scanner(System.in);
		
		int counter = 0;
		
		while(counter <= 10)
		{
			System.out.println("Digite o número para ser somado!");
			int entrada = input.nextInt();
			counter++;
			
		}
		
	}

}

Ou seja, guardar todas as variáveis que o usuário digitou em entrada para ser exibido depois. Eu até consigo fazer, o porém, é que a variável vai ser perdida a cada nova entrada de algum número. Nesse caso, o que faço ?

Abraços!

tenta

 public static void main(String args[])  
     {  
           
         Scanner input = new Scanner(System.in);  
           
         int counter = 0;  
           
         while(counter <= 10)  
         {  
             System.out.println("Digite o número para ser somado!");  
             int[] entrada = input.nextInt();  
             counter++;  
               
         }  

ai vc faz um for imprimindo o array “entrada”.

Não consigui compreender, Alex!
Poderia explicar o seu código ?
No caso, eu quero pegar todas as variáveis que o usuário digitou e exibi-las.

 public static void main(String args[])    
     {    
             
         Scanner input = new Scanner(System.in);    
             
         int counter = 0;    
         int[] entrada;    
         while(counter <= 10)    
         {    
             System.out.println("Digite o número para ser somado!");    
             entrada = input.nextInt();    
             counter++;    
                 
         }
         for(int valor : entrada){
         system.out.println(valor)
         }

Está dando erro no input.nextInt.

Fala hackum.

Se a quantidade de entrada for 10, acredito que a condição de parada deve ser:

while(counter < 10)

A captura provavelmente funcionará da seguinte forma:

int[counter] entrada = input.nextInt(); 

Ainda não obtive êxito.

Cara, posta a mensagem de erro.
Provavelmente o problema é o fato de você não ter instanciado o array.

int[] entrada = new int[10];

Abs.

olá hackum,

Os arrays primitivos quando criados devem ter seu tamanho definido, por isso nao funcionaria para a necessidade de n valores de entrada pois vc nao sabe quantos parametros vai ser inseridos no array.

No entanto faça isso:


   import java.util.Scanner;  
    public class test {  
          
       public static void main(String args[])  
       {  
             
           Scanner input = new Scanner(System.in);  
             
           int counter = 0; 
           int entrada=0;
           List listValores=new Arraylist(); 
             
           while(counter <= 10) {  
               System.out.println("Digite o número para ser somado!");  
               entrada = input.nextInt(); 
               listValores.add(Integer.valueOf(entrada)); 
               counter++;  
                 
           }  
           // para ver os valores adicionados faça
          for(Integer i:listValores){
               System.out.println("Valor: "+i);
           }
             
       }  
     
   }  

Espero ter ajudado.

[code]public class Counter
{
public Counter()
{
}

public static void main(String[] args)
{
     Scanner input = new Scanner(System.in);      

     int counter = 0;      
     List entrada = new ArrayList();      
     while(counter <= 10)      
     {      
         System.out.println("Digite o número para ser somado!");      
			 int num = input.nextInt();
			 entrada.add(num);
         counter++;      
               
     }
		if (entrada != null) 
		{
			for (int i = 0; i < entrada.size(); i++) 
			{
				System.out.println(i);
			}
				
		}
}

}[/code]

verdade paulo1911

Olá Alex Scharf, Legal vc querer ajudar mas você deve-se lembrar que Collection são de Objects e nao de primitivos :shock:

Para você adicionar o valor vc tem que usar um wrapper e adicional a Collection :smiley:

Fallow

Está dando erro no seu código Paulo, veja:

 List listValores = new Arraylist(); 

Ola hackum,
vc precisa adicionar os imports:

import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;

//ajuste o for tb
                 for (int i = 0; i < entrada.size(); i++)   
                 {  
                     System.out.println(entrada.get(i));  
                 } 

Fallow

O código certo:

[code]
import java.util.List;
import java.util.ArrayList;
import java.util.Scanner;

public class Counter {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);

  int counter = 0;      
  List<Integer> entrada = new ArrayList<Integer>();
  while(counter <= 10) {      
     System.out.println("Digite o número para ser somado!");      
     int num = Integer.parseInt(input.nextLine());
     entrada.add(num);
  }
  for (Integer num : entrada) {
     System.out.println(num);
  }

}
}[/code]

E com vetores:

[code]public static void main(String args[]) {
Scanner input = new Scanner(System.in);
int entrada[] = new int[10];

for (int i = 0; i < entrada.length; i++)
System.out.println(“Digite o número para ser somado!”);
entrada[i] = Integer.parseInt(entrada.nextLine());
}

for (int num : entrada) {
System.out.println(entrada);
}
}[/code]

Faz um array de 10 posições

 int array[] = new int[10]; 

e guarda os valores dentro desse array usando for ou while

[code]
Scanner sc = new Scanner(System.in);
int cont = 0;

for(cont = 0; cont < array.length; cont++)
{
array[cont] = sc.nextInt();
}[/code]

int cont = 0;
Scanner sc = new Scanner(System.in);

while(cont < 10)
{ 
   array[cont] = sc.nextInt();
   cont++;
}