Tengo un problema escolar donde me piden crear un array de x tamaño con valores entre 0 y 999. El usuario ingresa el tamaño del array y los valores se generan randomicamente.
Una vez el array esta construido, se muestran los valores y se debe crear un array con los valores menores de 500 y otro con lo mayores.
Hasta ahora he creado el array dependiendo del tamaño que el usuario quiere y colocar los valores creados randomicamente. También he logrado crear los otros dos arrays dependiendo de cuantos valores menores y mayores a 500 hay en el primer array, pero no logro encontrar un algoritmo para pasar los valores a los respectivos array.
Asi es como se ve mi código hasta ahora:
Código PHP:
import java.util.Scanner;
public class Tal {
public static void main(String args[]) {
int tal, randomNumber;
int less = 0, higher = 0;
Scanner input = new Scanner(System.in);
System.out.print("Cuantos valores al azar entre 0 - 999 deseas? ");
tal = input.nextInt();
System.out.println();
//Crea el array dependiendo del valor ingresado por el usuario
int[] numbers = new int[tal];
//Ingresando valores randomicos entre 0 - 999 al array
for (int i = 0; i < numbers.length; i++) {
randomNumber = 0 + (int) (Math.random() * ((999 - 0) + 1));
numbers[i] = randomNumber;
}
// imprimiendo los valores del array y conatbilizando cantidad de
// valores mayores o menores que 500
for (int i = 0; i < numbers.length; i++) {
System.out.println("Valor " + i + " : " + numbers[i]);
if (numbers[i] < 500) {
less++; //less sera el tamaño del nuevo array
} else {
higher++; //higher sera el tamaño del nuevo array
}
}
//Creando los arrays con los valores obtenidos
int[] lessThan = new int[less];
int[] higherThan = new int[higher];
//Comprobando que los array se han creado con el tamaño correcto
System.out.println(lessThan.length + " valor");
System.out.println(higherThan.length + " valor");
}
}
Cita:
Como paso los valores a los array lessThan y higherThan? run:
Cuantos valores al azar entre 0 - 999 deseas? 8
Valor 0 : 4
Valor 1 : 589
Valor 2 : 966
Valor 3 : 534
Valor 4 : 361
Valor 5 : 837
Valor 6 : 362
Valor 7 : 430
4 valores.
4 valores.
BUILD SUCCESSFUL (total time: 3 seconds)
Cuantos valores al azar entre 0 - 999 deseas? 8
Valor 0 : 4
Valor 1 : 589
Valor 2 : 966
Valor 3 : 534
Valor 4 : 361
Valor 5 : 837
Valor 6 : 362
Valor 7 : 430
4 valores.
4 valores.
BUILD SUCCESSFUL (total time: 3 seconds)
Intente con esto pero no sirve ya que los arrays se llenan con el ultimo valor encontrado:
Código PHP:
for (int i = 0; i < numbers.length; i++) {
if (numbers[i] < 500) {
for (int l = 0; l < lessThan.length; l++) {
lessThan[l] = numbers[i];
}
} else {
for (int m = 0; m < higherThan.length; m++) {
higherThan[m] = numbers[i];
}
}
}
Una cosa mas, todo se tiene que hacer de forma manual, es decir ningúna función o método se puede usar excepto por el Math.random.