elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.
 
Inicio Ayuda Buscar Ingresar Registrarse
28 Mayo 2012, 01:56  


Tema destacado: Suscripción al boletín mensual de elhacker.net

+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  Java (Moderadores: Debci, Leyer)
| | | |-+  Duda sobre un metodo que devuelva tres valores random
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Duda sobre un metodo que devuelva tres valores random  (Leído 2,011 veces)
Dyabel03

Desconectado Desconectado

Mensajes: 1


Ver Perfil
Duda sobre un metodo que devuelva tres valores random
« en: 6 Marzo 2011, 19:40 »

Saludos para todos,

Quisiera saber cómo hago o que me aconsejan hacer para que un método me retorne tres valores que  son random…el programa es sobre vuelos aéreos, aca les presento como tengo los atributos y los métodos… Y también si me explicaran como  plantearlo en la clase principal.
De antemano gracias.

Código:
import javax.swing.*;
public class Aerolinea
{
    private long numerotikete;
    private String nombretikete;
    private String clasevuelo;
    private long puertavuelo;
    private long sillavuelo;
    private String ubicacion;
    private String destino;
    private double valortikete;


 // metodo crear tikete
    public Aerolinea(String n,String c,String ub,String de)
    { nombretikete=n;
      numerotikete=(long)(Math.random()*1000);
      clasevuelo=c;
      puertavuelo=(long)(Math.random()*1000);
      sillavuelo=(long)(Math.random()*1000);
      ubicacion=ub;
      destino=de;
      valortikete=0;
    }
     public void pagartikete(double vt)
    { valortikete+=vt;}

     public void cancelartikete(double vt)
    {  if(valortikete==0)
         valortikete-=vt;
         }


    public double consultartikete()
    {return valortikete; }




}

Sé que si escribo:
Código:
public long Aerolinea(String n,String c,String ub,String de)
{
nombretikete=n;
clasevuelo=c;
ubicacion=ub;
destino=de;
valortikete=0;
numerotikete=(long)(Math.random()*1000);
puertavuelo=(long)(Math.random()*1000);
 sillavuelo=(long)(Math.random()*1000);
Return numerotikete;
}

Puedo ver en pantalla sin problema el numero de tiquete  pero como hago para poder retornar  los otros dos atributos?...les agradezco su ayuda.



En línea
Shell Root


Desconectado Desconectado

Mensajes: 2.456


Alex Jurado


Ver Perfil WWW
Re: Duda sobre un metodo que devuelva tres valores random
« Respuesta #1 en: 6 Marzo 2011, 20:34 »

Retornas un vector


En línea

---
tragantras


Desconectado Desconectado

Mensajes: 466


Ver Perfil
Re: Duda sobre un metodo que devuelva tres valores random
« Respuesta #2 en: 6 Marzo 2011, 23:37 »

o pasa un array como parámetro de entrada y modifica los valores directamente ahi... (cosa feita...)
En línea

Colaboraciones:
1 2
Shell Root


Desconectado Desconectado

Mensajes: 2.456


Alex Jurado


Ver Perfil WWW
Re: Duda sobre un metodo que devuelva tres valores random
« Respuesta #3 en: 7 Marzo 2011, 03:54 »

O lo retornas como una cadena separada por un delimitador después usas la función SPLIT.
En línea

---
Pirat3net

Desconectado Desconectado

Mensajes: 173


Ver Perfil
Re: Duda sobre un metodo que devuelva tres valores random
« Respuesta #4 en: 7 Marzo 2011, 15:21 »

aprobecho esta duda para publicar una duda sobre una de las respuestas, dijeron por ahi retornar un vector,
pero al hacer
return vector[n], lo que vas a hacer es solo retornar la posicion n, y si haces un
for(k=0;k<vector.lenght<;k++){
return vector[k]
}
ahi solo retornaria la posicion vector[0] y se acabaria el metodo.
como se retornarian todos los valores del vector?
En línea
Shell Root


Desconectado Desconectado

Mensajes: 2.456


Alex Jurado


Ver Perfil WWW
Re: Duda sobre un metodo que devuelva tres valores random
« Respuesta #5 en: 7 Marzo 2011, 18:23 »

Pues sólo tienes que enviar el Array, por ejemplo,
Código
 
/* Función que devuelve un Array */
public static int[] fArray(){
int sArray[] = new int[2];
sArray[0] = 1;
sArray[1] = 2;
 
return sArray;
}
 
/* Método principal */
public static void main(String[] args) {
int sArray[] = new int[2];
sArray = fArray();
for(int i=0; i<2; i++){ System.out.println( sArray[i] ); }
}


Resultado:
Código
alex@shellroot:~/Escritorio$ javac PoC.java -Xlint
alex@shellroot:~/Escritorio$ java PoC
1
2
En línea

---
Darhius


Desconectado Desconectado

Mensajes: 427


Divide y vencerás.


Ver Perfil
Re: Duda sobre un metodo que devuelva tres valores random
« Respuesta #6 en: 7 Marzo 2011, 20:40 »

Quisiera saber cómo hago o que me aconsejan hacer para que un método me retorne tres valores

Un método solo te puede retornar 1 valor o 0,  para el caso del constructor siempre será 0.

Lo que te recomiendo yo es usar los metodos set y get =)

return vector[n], lo que vas a hacer es solo retornar la posicion n

Si haces eso no retornas la posición de "n" sino el contenido en el arreglo en esa posición.

y si haces un
for(k=0;k<vector.lenght<;k++){
return vector[k]
}
ahi solo retornaria la posicion vector[0] y se acabaria el metodo.

No terminaría el método, depende del tamaño del vector. Además supongamos para un caso general, necesitas otro return, para el método.
Y nuevamente no regresará la posicion, sino el contenido de esa posición.

como se retornarian todos los valores del vector?

Así.

Código
public class RetornarVector {
 
public static void main(String args[]) {
new RetornarVector();
}
 
   public RetornarVector() {
    int vaux[] = vector();
    for(int i=0; i<vaux.length; i++)
    System.out.println(vaux[i]);
   }
 
   private int[] vector(){
    int v[]={1,2,3};
    return v;
   }
}
 


Un saludo.
En línea

"Cuenta mi historia... a quienes pregunten, cuéntala con verdad, las cosas malas junto con las buenas  y permite que sea juzgado apegado ellas... el resto... es silencio." Dinobot (Beast Wars Transformers)
Pirat3net

Desconectado Desconectado

Mensajes: 173


Ver Perfil
Re: Duda sobre un metodo que devuelva tres valores random
« Respuesta #7 en: 8 Marzo 2011, 17:30 »

lo que me refiero con el bucle for es que, desde que un metodo retorne un valor, el metodo termina,¿o estoy equivocado?
En línea
Edu


Desconectado Desconectado

Mensajes: 1.082


Ex XXX-ZERO-XXX


Ver Perfil
Re: Duda sobre un metodo que devuelva tres valores random
« Respuesta #8 en: 8 Marzo 2011, 17:45 »

Pero si te explico Shell Root ya, el metodo tiene que devolverte el sArray y luego desp en el codigo q seguia despues de llamar al metodo haces un bucle para recorrer sArray[0] hasta sArray[n] depende como lo hagas y para q lo quieras
En línea
Darhius


Desconectado Desconectado

Mensajes: 427


Divide y vencerás.


Ver Perfil
Re: Duda sobre un metodo que devuelva tres valores random
« Respuesta #9 en: 8 Marzo 2011, 17:49 »

lo que me refiero con el bucle for es que, desde que un metodo retorne un valor, el metodo termina,¿o estoy equivocado?

No entiendo muy bien a que te refieres con que el método termina?, no te refieres al ciclo?

Y es que como te digo depende, por ejemplo puedo terminar el ciclo con una comparación, por ejemplo

for(int i=0; i<arreglo.length; i++){
   if(arreglo[3]==0)
     break;
}

Depende de lo que quieras hacer, o mas bien de las instrucciones que le des =)

Expon mejor tu duda y te ayudaremos.
En línea

"Cuenta mi historia... a quienes pregunten, cuéntala con verdad, las cosas malas junto con las buenas  y permite que sea juzgado apegado ellas... el resto... es silencio." Dinobot (Beast Wars Transformers)
Shell Root


Desconectado Desconectado

Mensajes: 2.456


Alex Jurado


Ver Perfil WWW
Re: Duda sobre un metodo que devuelva tres valores random
« Respuesta #10 en: 8 Marzo 2011, 20:39 »

Definitivamente, No hay peor ciego, que el que no quiere ver
En línea

---
Ragnarok
Colaborador
***
Desconectado Desconectado

Mensajes: 4.561


Shrödingerificado


Ver Perfil
Re: Duda sobre un metodo que devuelva tres valores random
« Respuesta #11 en: 12 Marzo 2011, 19:24 »

aprobecho esta duda para publicar una duda sobre una de las respuestas, dijeron por ahi retornar un vector,
pero al hacer
return vector[n], lo que vas a hacer es solo retornar la posicion n, y si haces un
for(k=0;k<vector.lenght<;k++){
return vector[k]
}
ahi solo retornaria la posicion vector[0] y se acabaria el metodo.
como se retornarian todos los valores del vector?

No marcando el índice del elemento que quieres retornar si no quieres retornar un elemento sino todo el vector, es decir en lugar de:
Código:
return vector[k];
escribir
Código:
return vector;
Lee las normas y usa las etiquetas de código.


lo que me refiero con el bucle for es que, desde que un metodo retorne un valor, el metodo termina,¿o estoy equivocado?
Se puede arreglar.
http://chaoticjava.com/posts/java-yield-return-code-published/
En línea

No olvidéis leer las normas generales, además de las específicas de cada tablón.sgae, ladrones
.mokk.

Desconectado Desconectado

Mensajes: 177



Ver Perfil
Re: Duda sobre un metodo que devuelva tres valores random
« Respuesta #12 en: 13 Marzo 2011, 07:53 »

Código
public class RetornarVector {
 
public static void main(String args[]) {
new RetornarVector();
}
 
   public RetornarVector() {
    int vaux[] = vector();
    for(int i=0; i<vaux.length; i++)
    System.out.println(vaux[i]);
   }
 
   private int[] vector(){
    int v[]={1,2,3};
    return v;
   }
}
 


Un saludo.

Ya con eso podria entender como hacerlo aun sino mira algo asi podria ser lo que ocupas
Código
private static int[]  vector(int max)
{
   //max sera el tamaño del vector
   int [] vec = new int[max];
   //Creamos nuestro codigo para el Random
   Random r = new Random();
 
   //Rellenaremos nuestro vector
   for(int x=0;x<vec.lenght;x++)
   {
       //Rellenar el vector en la respectiva posicion con un numero random del 0 - 999
       vec[x] = r.nextInt(1000);
   }
 
   //Returnamos nuestro vector
   return vec;
}
 

Ya con ello al obtenerlo recuerda que debe ser obtenido en otro vector del mismo tipo y ya solo obtendrias su contenido de la misma forma como lo rellenamos solo que en ves de introducirle un numero lo mostraremos
Código
int [] vec = new int[3];
vec = vector(3);
 
for(int x=0;x<vec.lenght;x++)
   {
       System.out.println(vec[x]);
   }
 

Saludos y suerte.
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Pregunta sobre el metodo post y el metodo get
Programación General
y0mism0 2 699 Último mensaje 20 Julio 2006, 20:41
por y0mism0
Duda sobre valores de la memoria!!!
Ingeniería Inversa
WILMER5 10 3,030 Último mensaje 19 Noviembre 2008, 11:37
por Dari0s
duda sobre cuál es el mejor método para indetectar troyanos
Dudas Generales
hidevil 0 659 Último mensaje 22 Diciembre 2008, 23:42
por hidevil
Duda sobre el método RIT
Análisis y Diseño de Malware
w0nt0n 0 2,073 Último mensaje 16 Junio 2009, 23:15
por w0nt0n
devolver valores por metodo post como?
PHP
Zeroql 9 1,959 Último mensaje 18 Junio 2011, 04:54
por raul338
Powered by SMF 1.1.16 | SMF © 2006-2008, Simple Machines