public static void main(String[] args) {
Scanner entrada = new Scanner(System.in);
int n [] = new int [20];
for(int i = 0; i < n.length; i++) {
System.out.println("Digite um numero: ");
n[i] = entrada.nextInt();
}
}
public class NumerosAleatrorios{
public static void main(String[] args){
int numero;
int[] num = new int[6];
Random r = new Random();
for(int i=0; i<num.length; i++){
numero = r.nextInt(60) + 1;
for(int j=0; j<num.length; j++){
if(numero == num[j] && j != i){
numero = r.nextInt(60) + 1;
}else{
num[i] = numero;
}
}
}
//Apresentar na tela o resultado
for(int i=0; i<num.length; i++){
System.out.print(num[i]+" ");
}
}
}
Uma forma mais “fácil” ainda, é utilizando ArrayList.
public static void main(String[] args) {
Scanner entrada = new Scanner(System.in);
int n [] = new int [20];
ArrayList<Integer> duplicados = new ArrayList<>();
for(int i = 0; i < n.length; i++) {
System.out.println("Digite um numero: ");
int num = entrada.nextInt();
if(duplicados.contains(num)){
System.out.println("Número duplicado");
i--;
}else{
n[i] = num;
dupicados.add(num);
}
}
Se o problema dele for igual ao do outro tópico, pelo que entendi é ele que tem que desenvolver o algoritmo que evita repetição e é usando array.
Mas se puder usar Collection, uma solução melhor seria usar um Set.
import java.util.HashSet;
import java.util.Scanner;
import java.util.Set;
public class Main {
private static final Scanner scan = new Scanner(System.in);
public static void main(String... args) {
final Set<Integer> positions = new HashSet<>(20);
while (positions.size() < 20) {
System.out.print("Digite uma posição: ");
if (!positions.add(scan.nextInt()))
System.out.print("Vc usou um número repetido! ");
}
System.out.println(positions);
}
}