Java - Meter valor no estatico a variable estatica

   
Vista:

Meter valor no estatico a variable estatica

Publicado por Vicente (1 intervención) el 03/03/2010 09:39:22
Buenas, he intentado crear un pequeño método el cual genera de forma automática un identificador que necesito para una clase, el problema viene que el método devuelve un valor no estático y la variable a la que intento meter dicho valor es estático, por lo que me salta el error, me gustaría saber si hay alguna forma de lograr que el valor que devuelve sea estático o convertir ese valor no estático a valor estático, a continuación dejo el código a groso modo para que podáis echarle una vistazo con comentarios (el método generador de identificadores no lo he podido probar así que no es seguro que funcione)

//Variable que almacenara el valor que hace llamada al método generador al cual paso el valor de un arraylist situado en otra clase

contid = GeneradorID(DatosAplicacion.getContrato());

//El método generador recibe un arraylist y comienza a trabajar con el, inicializa dos variables uno que sera un contador que sera
//usado para navegar por el arraylist y un id que se usara para comparar los identificadores que ya han sido guardados en el
//arraylist y si son mayores cogerá el valor de estos y les sumara 1, el bucle no saldrá hasta que la variable contadora no sea igual
//o mayor que //el tamaño del arraylist, por ultimo devuelve el valor de la variable id

public int GeneradorID(ArrayList<Contrato> contra){
int id = 0;
int cont = 0;
do {
if (id < contra.get(cont).getContid()){
id = contra.get(cont).getContid() +1;
}
cont ++;
}
while (cont < contra.size());
return id;
}

El error me lo da el netbeans 6.7.1 (para Ubuntu) mientras que el eclipse SDK 3.2.2 (también para Ubuntu) no me muestra ningún error en el código, como ya he dicho el error que muestra el netbeans es que no se puede asignar un valor no estático a una variable estática, pero después de ver en el eclipse que no me da ningún error....... pues a decir verdad no se cual de los dos tiene razón, si alguien pudiera indicarme si esta o no bien se lo agradecería, y si no esta bien le agradecería que me indicara como solucionarlo.
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