olá turma!
eu gostaria de imprimir uma sequencia de 1 a 10 porém em ordem randômica.
Alguém tem uma ideia de como fazer?
valeu!
olá turma!
eu gostaria de imprimir uma sequencia de 1 a 10 porém em ordem randômica.
Alguém tem uma ideia de como fazer?
valeu!
Bom dia.
segue solução:
import java.util.concurrent.ThreadLocalRandom;
public class Main {
public static void main(String[] args) {
Main main = new Main();
main.imprimir();
}
public void imprimir(){
int valorMinimo = 1;
int valorMaximo = 10;
//array que armazena se o valor já foi impresso. cada posição representa um numero
boolean valorImpresso[] = new boolean[10];
//garantindo a inicialização de falso em todas as posições
for (int i = 0; i < 10; i++){
valorImpresso[i] = false;
}
//variavel para armazenar a quantidade de numeros impressos
int quantidadeImpressa = 0;
//fica no loop enquanto nao imprimos os 10 valores
while(quantidadeImpressa < 10){
//recuperando um randômico
int valor = randInt(valorMinimo, valorMaximo);
//testa para ver se o valor foi impresso.
//como o java inicia o array em zero, então subtraímos um do valor randomico
if (valorImpresso[valor-1] == false){
//imprime o valor
System.out.println(valor);
//aumenta o contador
quantidadeImpressa++;
//marca que já foi impresso
valorImpresso[valor-1] = true;
}
}
}
//função que gera randomico
public int randInt(int min, int max) {
int randomNum = ThreadLocalRandom.current().nextInt(min, max + 1);
return randomNum;
}
}
Thiago, boa tarde!
eu copiei o código e deu certo!
exatamente o resultado que eu queria mas não tinha chegado nem perto.
valeu, muito obrigado!
Boa tarde!
Pra isso que estamos no forum.. para nos ajudarmos.
Só marca minha resposta como solução para encerrar o tópico
Bons estudos!