Ver Mensaje Individual
  #1 (permalink)  
Antiguo 22/09/2011, 04:32
Jarkaos
 
Fecha de Ingreso: noviembre-2002
Ubicación: Suecia
Mensajes: 253
Antigüedad: 21 años, 5 meses
Puntos: 2
Problema con array, crear dos arrays a partir de uno

Hola,
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 talrandomNumber;
        
int less 0higher 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 0numbers.lengthi++) {
            
randomNumber + (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 0numbers.lengthi++) {
            
System.out.println("Valor " " : " 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");
        
    }

Lo que me da:

Cita:
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)
Como paso los valores a los array lessThan y higherThan?

Intente con esto pero no sirve ya que los arrays se llenan con el ultimo valor encontrado:

Código PHP:
for (int i 0numbers.lengthi++) {
            if (
numbers[i] < 500) {
                for (
int l 0lessThan.lengthl++) {
                    
lessThan[l] = numbers[i];
                }
            } else {
                for (
int m 0higherThan.lengthm++) {
                    
higherThan[m] = numbers[i];
                }
            }
        } 
Alguna idea que me pueda ayudar a solucionar esto seria de gran ayuda.
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.