Programación en java. Los requisitos no se pueden repetir. El resultado debe ser de pequeño a grande. ¿Por qué no funciona el código que compilé? Espero que los expertos puedan ayudarme a corregir los errores.
Tu programa definitivamente compilará e informará un error
Según tu cartel, esta es la idea
1 Generar un número aleatorio
2. Determinar si se repite y regenerarlo
Reformar de la siguiente manera
public static void test() {
Random r = new Random(). ;
int[] a = nuevo int[7];
int js = 0;
for (int i = 0; js < 7; i++ ) {
a[i] = getNo(r);
if (juez(a[i], a)) {
js++; p>
} más {
i--;
}
}
Arrays.sort(a);
for (int k = 0; k < 7; k++) {
System.out.print(a[k] + " ");
} p>
}
public static int getNo(Random r) {
return 1 + r.nextInt(30);
}
juez booleano estático público (int a, int[] arr) {
for (int i = 0; i < arr.length; i++) {
if ( i == 0 || arreglo[i] == 0) {
descanso;
}
if (a == arreglo[i] ) {
devuelve falso;
}
}
devuelve verdadero;
}
Pero esto es demasiado complicado
De hecho, jdk ya ha proporcionado un buen método
Random random = new Random();
Object[] valores = nuevo Objeto[7];
HashSet
while (hashSet.size() < valores.longitud) {
p>hashSet.add(random.nextInt(30) + 1);
}
valores = hashSet.toArray();
for (int i = 0; i < valores.longitud; i++) {
System.out.print(valores[i] + "\t");
}
Espero que sea adoptado, gracias