Guardar valores dentro de uma variável em um while ou for
14 respostas
hackum
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:
importjava.util.Scanner;publicclasstest{publicstaticvoidmain(Stringargs[]){Scannerinput=newScanner(System.in);intcounter=0;while(counter<=10){System.out.println("Digite o número para ser somado!");intentrada=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 ?
publicstaticvoidmain(Stringargs[]){Scannerinput=newScanner(System.in);intcounter=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”.
hackum
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.
A
Alex_Scharf
publicstaticvoidmain(Stringargs[]){Scannerinput=newScanner(System.in);intcounter=0;int[]entrada;while(counter<=10){System.out.println("Digite o número para ser somado!");entrada=input.nextInt();counter++;}for(intvalor:entrada){system.out.println(valor)}
hackum
Está dando erro no input.nextInt.
G
Guachala
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();
hackum
Ainda não obtive êxito.
G
Guachala
Cara, posta a mensagem de erro.
Provavelmente o problema é o fato de você não ter instanciado o array.
int[]entrada=newint[10];
Abs.
paulo1911
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:
importjava.util.Scanner;publicclasstest{publicstaticvoidmain(Stringargs[]){Scannerinput=newScanner(System.in);intcounter=0;intentrada=0;ListlistValores=newArraylist();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çafor(Integeri:listValores){System.out.println("Valor: "+i);}}}
Espero ter ajudado.
A
Alex_Scharf
publicclassCounter{publicCounter(){}publicstaticvoidmain(String[]args){Scannerinput=newScanner(System.in);intcounter=0;Listentrada=newArrayList();while(counter<=10){System.out.println("Digite o número para ser somado!");intnum=input.nextInt();entrada.add(num);counter++;}if(entrada!=null){for(inti=0;i<entrada.size();i++){System.out.println(i);}}}}
verdade paulo1911
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
Fallow
hackum
Está dando erro no seu código Paulo, veja:
ListlistValores=newArraylist();
paulo1911
Ola hackum,
vc precisa adicionar os imports:
importjava.util.ArrayList;importjava.util.List;importjava.util.Scanner;//ajuste o for tbfor(inti=0;i<entrada.size();i++){System.out.println(entrada.get(i));}
Fallow
ViniGodoy
O código certo:
importjava.util.List;importjava.util.ArrayList;importjava.util.Scanner;publicclassCounter{publicstaticvoidmain(String[]args){Scannerinput=newScanner(System.in);intcounter=0;List<Integer>entrada=newArrayList<Integer>();while(counter<=10){System.out.println("Digite o número para ser somado!");intnum=Integer.parseInt(input.nextLine());entrada.add(num);}for(Integernum:entrada){System.out.println(num);}}}
E com vetores:
publicstaticvoidmain(Stringargs[]){Scannerinput=newScanner(System.in);intentrada[]=newint[10];for(inti=0;i<entrada.length;i++)System.out.println("Digite o número para ser somado!");entrada[i]=Integer.parseInt(entrada.nextLine());}for(intnum:entrada){System.out.println(entrada);}}
williamdasflores
Faz um array de 10 posições
int array[] = new int[10];
e guarda os valores dentro desse array usando for ou while