Java - random y vector de objetos

   
Vista:

random y vector de objetos

Publicado por mauricio daza (5 intervenciones) el 20/11/2010 23:32:15
tengo lo siguiente:

r = ((int) Math.random());
System.out.println("Personas en cola: " + r);
for(int y=0;y<30;y++){
}

mis dudas:
1-como hago para que el random me bote numero aleatorio entre 4 y 7
2-como hacer q en un array de objetos por decir q en el random me salga 5 tome 5 posiciones del array. el array seria cola[29]; q me tome cinco posiciones empezando del 29 hacia abajo.

porfavor ayudenme;
desde ya muchas gracias por la colaboracion.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:random y vector de objetos

Publicado por Davidmg91 (9 intervenciones) el 21/11/2010 12:37:27
Pues a la primera pregunta la respuesta seria que al random le dijeras que quieres que vaya de los valores 4 al 7 de esta forma:
int r = (int)(Math.random()*4+4);
Así solo toma valores entre 4 y 7.

La segunda pregunta no la entiendo muy bien porque no dices que valor quieres entrar en la posicion del array. ¿Podrías aclararmelo?

De todas formas te he hecho esto por si es lo que quieres:
int []cola= new int [30];
for (int i= cola.length - 1; i <0; i++){
cola[i-r]= valor;
}
Aunque yo pienso que lo que quieres es que tome una única posición ¿no?
Entonces unicamente tendrías que hacer:

cola[(cola.length-1)-r = valor;

Espero que te sirva esto.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:random y vector de objetos

Publicado por mauricio daza (5 intervenciones) el 21/11/2010 13:10:20
mira la segunda pregunta es
que el valor q me da el random por decir es 5 son como si fueran 5 personas entoncs acomodarlo en un vector de objetos cada persona en una posicion empezando del 29 hasta abajo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:random y vector de objetos

Publicado por mauricio daza (5 intervenciones) el 21/11/2010 13:11:05
y muchas gracias por resolver mi primera duda
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:random y vector de objetos

Publicado por Davidmg91 (9 intervenciones) el 21/11/2010 17:00:39
Vale, entonces lo que quieres debería ser un bucle que recorriera las posiciones desde cola[29] hasta cola[29 - r], tal que:

for (int i= cola.length-1; i>=cola.length - r; i--){
cola[i] = objeto;
}

donde cola.length - 1 es 29 y cola.length - r es 30 - r.

Mira a ver si esto te sirve y si no enseñame el código que llevas hecho para ver como lo estás haciendo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:random y vector de objetos

Publicado por mauricio daza (5 intervenciones) el 21/11/2010 17:17:36
mira no entendi nada sorry si te paresco bruto y te mostrare mejor mi codigo
es una simulacion de 7 horas de un banco con2 cajeros y 3 cajeros:

package Banco;
import java.lang.Math;
import java.util.Scanner;
class Banco{

public static void main(String[]args){
Clientes x = new Clientes();
Operaciones z = new Operaciones();
Scanner xx = new Scanner(System.in);
int men,h;
int c1=0,cc1=0;
int c2=0,cc2=0;
int c3=0,cc3=0;

do{
System.out.println("\tBanco:\n");
System.out.println("1-Simulacion 2 Cajeros\n");
System.out.println("2-Simulacion 3 Cajeros\n");
System.out.println("0-Salir\n");
System.out.println("Opcion:\n");
men= xx.nextInt();
}while(men >2);
switch(men){

case 1: for(int i=0;i<420;i++){ \\esto es para las 7 horas
// aqui necesito algo que diga que cada 5 min de las 7 horas entre el random y cree numeros entre 4 y 7
int r = ((int) Math.random()*4+4); \\ esto seria para q salga el numero entre 4 y 7
System.out.println("Personas en cola: " + r);

int s = ((int) Math.random()*100); \\ este random para q elija operacion
for(s=1;s<=34;s++){
if(c1==0){
x.cola[29]=0;
c1 = cc1;
cc1 += z.cochme;
}
else if(c2==0){
x.cola[29]=0;
c2 = cc2;
cc2 += z.cochme;
}
}
for(s=35;s<=44;s++){
if(c1==0){
x.cola[29]=0;
c1 = cc1;
cc1 += z.cochma;
}
else if(c2==0){
x.cola[29]=0;
c2 = cc2;
cc2 += z.cochma;
}
}
for(s=45;s<=69;s++){
if(c1==0){
x.cola[29]=0;
c1 = cc1;
cc1 += z.deef;
}
else if(c2==0){
x.cola[29]=0;
c2 = cc2;
cc2 += z.deef;
}
}
for(s=70;s<=79;s++){
if(c1==0){
x.cola[29]=0;
c1 = cc1;
cc1 += z.dech;
}
else if(c2==0){
x.cola[29]=0;
c2 = cc2;
cc2 += z.dech;
}
}
for(s=80;s<=94;s++){
if(c1==0){
x.cola[29]=0;
c1 = cc1;
cc1 += z.dereaho;
}
else if(c2==0){
x.cola[29]=0;
c2 = cc2;
cc2 += z.dereaho;
}
}
for(s=95;s<=99;s++){
if(c1==0){
x.cola[29]=0;
c1 = cc1;
cc1 += z.chger;
}
else if(c2==0){
x.cola[29]=0;
c2 = cc2;
cc2 += z.chger;
}
}
x.cola[29] = x.cola[28];x.cola[28] = x.cola[27];x.cola[27] = x.cola[26];
x.cola[26] = x.cola[25];x.cola[25] = x.cola[24];x.cola[24] = x.cola[23];
x.cola[23] = x.cola[22];x.cola[22] = x.cola[21];x.cola[21] = x.cola[20];
x.cola[20] = x.cola[19];x.cola[19] = x.cola[18];x.cola[18] = x.cola[17];
x.cola[17] = x.cola[16];x.cola[16] = x.cola[15];x.cola[15] = x.cola[14];
x.cola[14] = x.cola[13];x.cola[13] = x.cola[12];x.cola[12] = x.cola[11];
x.cola[11] = x.cola[10];x.cola[10] = x.cola[9];x.cola[9] = x.cola[8];
x.cola[8] = x.cola[7];x.cola[7] = x.cola[6];x.cola[6] = x.cola[5];
x.cola[5] = x.cola[4];x.cola[4] = x.cola[3];x.cola[3] = x.cola[2];
x.cola[2] = x.cola[1];x.cola[1] = x.cola[0]; \\ todo esto para q cuando acabe el cola[29] todos tomen el valor siguiente

cc1--;cc2--;
}
break;

case 2:for(int i=0;i<420;i++){
int m = ((int) Math.random()*4+4);
for(int y=0;y<30;y++){
}
int n = ((int) Math.random()*100);
for(n=1;n<=34;n++){
if(c1==0){
x.cola[29]=0;
c1 = cc1;
cc1 += z.cochme;
}
else if(c2==0){
x.cola[29]=0;
c2 = cc2;
cc2 += z.cochme;
}
else if(c3==0){
x.cola[29]=0;
c3 = cc3;
cc3 += z.cochme;
}
}
for(n=35;n<=44;n++){
if(c1==0){
x.cola[29]=0;
c1 = cc1;
cc1 += z.cochma;
}
else if(c2==0){
x.cola[29]=0;
c2 = cc2;
cc2 += z.cochma;
}
else if(c3==0){
x.cola[29]=0;
c3 = cc3;
cc3 += z.cochma;
}
}
for(n=45;n<=69;n++){
if(c1==0){
x.cola[29]=0;
c1 = cc1;
cc1 += z.deef;
}
else if(c2==0){
x.cola[29]=0;
c2 = cc2;
cc2 += z.deef;
}
else if(c3==0){
x.cola[29]=0;
c3 = cc3;
cc3 += z.deef;
}
}
for(n=70;n<=79;n++){
if(c1==0){
x.cola[29]=0;
c1 = cc1;
cc1 += z.dech;
}
else if(c2==0){
x.cola[29]=0;
c2 = cc2;
cc2 += z.dech;
}
else if(c3==0){
x.cola[29]=0;
c3 = cc3;
cc3 += z.dech;
}
}
for(n=80;n<=94;n++){

}
for(n=95;n<=99;n++){

}
}
break;

case 0: System.out.println("Vuelva Pronto");
break;

default:System.out.println("Esa Opcion es Invalida \n Intentelo de Nuevo");

}

}
}

ese es el codigo y otra duda q tengo como pongo para que del tiempo de arriba de 7 horas cada 5 minutos hacer que el random produzca el numero de entre 4 y 7
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:random y vector de objetos

Publicado por Davidmg91 (9 intervenciones) el 21/11/2010 17:32:42
La verdad es que yo no me sé explicar muy bien y por eso no lo entiendes.
Para lo del tiempo de arriba de las 7 horas que cada 5 minutos salga un número aleatorio yo pienso que deberías hacer un bucle for dentro:
for (int j=0; j<=420; j+=5) // así salta de 5 en cinco.

Lo siento por no saber explicarme bien.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:random y vector de objetos

Publicado por mauricio daza (5 intervenciones) el 21/11/2010 18:49:49
mira un profesor me explico q iciera un if asi
if( i%5 pero no me acuerdo lo otro :( ){\\ y aqui lo de el random de gente}
y mi otra duda es lo de vector de objetos.

osea el random por decir me da 5 entoncs que el vector cola[29] llene 5 posiciones empezando del 29,28,27..... y asi ..
muchas gracias por tu ayuda
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar