Melhor maneira!

3 respostas
joao.ramos

Qual a melhor maneira de se resolver esse problema?

n = ler.nextInt();
			
					for (int i = 0; i < n; i++) {
						System.out.println("digite o valor");
						valor = ler.nextInt();
						list.add(valor);
					}
					
					for (int j = 0; j < 6; j++) {
						valorSorteado = r.nextInt(n);
						
						
						System.out.println(valorSorteado);
						list.remove(valor);
						
					}

ele tem que exibir 6 numeros digitados no arraylist, como ta mostrando no programa. mas ele apaga o valor e ta ficando o espaço em branco e quando ele sorteia novamente pode ocorrer o caso de cair esse espaço em branco e da pau!
entao alguem tem uma ideia?

3 Respostas

T
em vez de

valorSorteado = r.nextInt(n);

você pode usar

valorSorteado = r.nextInt(list.size());

para que sempre sorteie um valor que está dentro da lista.
Anderson_Leite
<blockquote>em vez de

valorSorteado = r.nextInt(n);

você pode usar

valorSorteado = r.nextInt(list.size());

para que sempre sorteie um valor que está dentro da lista. </blockquote>

Ou fazer o for decrescente:

for (int j = 6; j != 0; j--) { valorSorteado = r.nextInt(n); System.out.println(valorSorteado); list.remove(valor); }

LPJava

vc faz um for each para percorrer seu ArrayList.

for(int x : list){
valorSorteado = x;

System.out.println(valorSorteado);
list.remove(x);

Bom seu ArrayList tem que ser do tipo Integer para usar no foreach… tanto tipos para listas e o foreach é um novo recurso do java 1.5.

Criado 10 de outubro de 2007
Ultima resposta 10 de out. de 2007
Respostas 3
Participantes 4