Red de conocimiento informático - Material del sitio web - 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.

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++;

} más {

i--;

}

}

Arrays.sort(a);

for (int k = 0; k < 7; k++) {

System.out.print(a[k] + " ");

}

}

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 hashSet = nuevo 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