Vectores

oscarym
24 de Noviembre del 2003
Necesito generar un numero randomico y guardorlo en un vector, luego otravez generar un randomico comparar si es igual alque tengo en el vector si es igual generar otro hasta que no se igual y si no lo es guardarlo para luego llamar al vector desde otra clase externa? como Comparo? como guardo y como llamo acada numero que se guardo en el vector?

Luis
24 de Noviembre del 2003
Pues supongamos que disponemos de dos clases

generaNumero.java
guardaNumero.java

En la primera se realizan las operaciones de generacion del numero aleatorio y la segundo solo se guardan los numeros.

class guardaNumero{
private Vector numeros;
private Integer numero;
// Constructor de la clase que inicializa el vector.
public guardaNumero(){
numeros=new Vector();
}

// establezco el ultimo numero ingresado
public void setNumero(Integer num){
numero=num;
}
// Me retorna el ultimo numero ingresado
public Integer getNumero(){
return numero;
}

// retorna el vector con todos los numeros.
public Vector getNumeros(){
return numeros;
}

// Agrega un numero al vector.
public void setNumeros(Integer num){
numeros.add(num);
}

// Te retorna el numero de elementos del vector.
public int getNumElemntos(){
return numeros.size();
}

}

class generaNumero{
//atributo tipo guardaNumero.
guardaNumero guardar;
/* en el constructor de esta clase o el lugar mas
* apropiado que elijas instancia la clase*/
guardar=new guardaNumero();
// Aqui haces tu generacion de numero aleatorio
............
Integer tunumero=new Integer(tu_numero_aleatorio);
if(guardar.getNumElementos()!=0){
// aqui preguntas si el ultimo es igual
if(guardar.getNumero().intValue()==tunumero)
........... // si es igual generas otro...
else{
//Agrego el numero al vector.
guardar.setNumeros(tunumero);
//Guardo la referencia al ultimo para la proxima vez
guardar.setNumero(tunumero);
}

} else { // esto lo hace solo la primera vez.
//Agrego el numero al vector.
guardar.setNumeros(tunumero);
//Guardo la referencia al ultimo para la proxima vez
guardar.setNumero(tunumero);
}

}

No se si esta sea la mejor forma de hacerlo, seguro hay mejores pero almenos te puede dar una idea.
Espero haber entendido tu problema.
suerte!!!.

Saludos.
Luis.