Consulta recoger vector

Iniciado por athlit, 13 Noviembre 2009, 10:29 AM

0 Miembros y 1 Visitante están viendo este tema.

athlit

Hola a todos,
me estoy metiendo en java desde hace muy poquito y tengo una duda/problema al que no encuentro salida. Si alguien me puede ayudar se lo agradecería.
Allá va mi pregunta:
¿Es posible recoger el valor de un vector que está en un método, desde otro metodo de la misma clase?
Mi ejemplo:

Citar
public void Metodo()
{

    Vector x = new Vector();
    for (int i=0;i<11;i++)
{

    Integer a = new Integer(i);
    x.addElement(a);

}
}

Mi problemática es que desde otro método de la misma clase, no consigo acceder. ¿Se puede?

Muchas gracias a todos.

Un saludo.

Leyer

bueno una solucion es que tu metodo retorne el vector y el otro metodo aceda a el mismo.

Código (java) [Seleccionar]
public class test {
public static void main(String[] args){
System.out.println(get(1));
}
public static Integer get(int index){
return secret().get(index);
}
public static Vector<Integer> secret(){
Vector<Integer> x = new Vector<Integer>();
    for (int i=0;i<11;i++){
    Integer a = new Integer(i);
    x.addElement(a);
    }
    return x;
  }

}

Saludos..

Debci

si, llamando al metodo.dato

Saludos

athlit

Hola L-EYER,
en primer lugar gracias por contestar.

He probado lo que dices, pero al crear el metodo que retorne el vector, no me lo acepta ya que al metodo le tengo que poner el tipo de retorno (int, string, etc...) y se me queja del tipo.

Muchas gracias por todo.
Un saludo

athlit

Hola D3Bc1,
gracias por contestar tambien.

Probé tambien de llamarlo metodo.dato (dentro del metodo Metodo.x.ElementAt(i) por ejemplo), pero no me lo coge. Y si creo un objeto, lo puedo crear sobre Metodo pero no recoger el valor de x.
Te refieres a eso?

Muchas gracias por todo.
Un saludo

Debci

Cita de: athlit en 13 Noviembre 2009, 16:55 PM
Hola D3Bc1,
gracias por contestar tambien.

Probé tambien de llamarlo metodo.dato (dentro del metodo Metodo.x.ElementAt(i) por ejemplo), pero no me lo coge. Y si creo un objeto, lo puedo crear sobre Metodo pero no recoger el valor de x.
Te refieres a eso?

Muchas gracias por todo.
Un saludo
Huyyy si tienes decalarada la variable en una clase, pon Clase.dato si esta en un método pon Clase.Método.dato

Saludos

Leyer

Cita de: athlit en 13 Noviembre 2009, 16:54 PM
Hola L-EYER,
en primer lugar gracias por contestar.

He probado lo que dices, pero al crear el metodo que retorne el vector, no me lo acepta ya que al metodo le tengo que poner el tipo de retorno (int, string, etc...) y se me queja del tipo.

Muchas gracias por todo.
Un saludo


error? mmm solo tienes que hacer que el Metodo()  retorne el Vector luego haces desde otro metodo-->Metodo().get(index); eso es todo. :-\

Saludos y suerte.

athlit

Hola,
al final lo he conseguido. Mi inexperiencia me ha jugado una mala pasada....

Os detallo lo que hice:
Desde un metodo, creo y relleno el vector:

public static Vector Metodo()
{
    Vector x = new Vector();
    for (int i=0;i<11;i++)
{
    Integer a = new Integer(i);
    x.addElement(a);
   
    //suma += ((Integer)x.elementAt(i)).intValue();
}
    return x;
}


Desde otro metodo diferente, recogerlo. (Luego me ha venido a la cabeza el "y todavía más" y he hecho un casting a integer para poder sumarlos.

public static void Recoger()
{
for (int i = 0;i<11;i++)
{
    suma += ((Integer)Metodo().elementAt(i)).intValue();
}
System.out.println(suma);
}


Desde el main, primero ejecuto uno y luego el otro.

Muchas gracias a ambos por vuestra ayuda y tiempo.

Un saludo!