Hola a todos
estoy trabajando en un algoritmo y estoy en la parte de leer fichero y rellenar un objeto llamado nodo.
Ese fichero nodo tiene 4 variables. Id, Nombre, coordenada x y coordenada y.
En el método readAirports leo el fichero que tiene los nombres y asigno ese nombre (o eso creo) y la id.
Luego quiero que en el método readPositions haga lo mismo pero incorporando el valor decimal del fichero en la coordenada x, y el otro valor en la coordenada y.
El problema es que no se como hacer referencia al mismo objeto desde diferentes métodos, había pensado en un return desde la clase del objeto pero me saltan errores.
He puesto aquí en borrado lo que tengo intención de hacer (en rojo) pero que no se como decírselo exactamente.
A ver si podéis echarme una mano.
Gracias y un saludo!
Código:
public class InputsReader {
static String archivo_airports_A320="Inputs/A320_Airports.txt";
static String archivo_positions_A320="Inputs/A320_Position.txt";
public static void readAirports() throws FileNotFoundException, IOException {
String cadena;
Input inputs = null;
int nNodes = 0;
FileReader f = new FileReader(archivo_airports_A320);
BufferedReader b = new BufferedReader(f);
// 1. COUNT THE # OF NODES (# OF LINES IN nodesFilePath)
while((cadena = b.readLine())!=null) {
nNodes++;
}
b.close();
// 2. CREATE THE INPUTS OBJECT WITH nNodes
inputs = new Input(nNodes); Aquí creo el objeto, como hago para referirme en otro método a este mismo objeto?
// 3. CREATE ALL NODES AND FILL THE NODES LIST
FileReader fr = new FileReader(archivo_airports_A320);
BufferedReader br = new BufferedReader(fr);
int k = 0;
String linea;
while( (linea = br.readLine()) != null )
{
String name=linea;
float x=0;
float y=0;
Node node = new Node(name,k, x, y);
k++;
}
fr.close();
}
public static void readPositions() throws FileNotFoundException, IOException {
String cadena;
Input inputs = null;
int nNodes = 0;
FileReader f = new FileReader(archivo_positions_A320);
BufferedReader b = new BufferedReader(f);
// 1. FILL THE NODES LIST WITH ITS POSITION
FileReader fr = new FileReader(archivo_positions_A320);
BufferedReader br = new BufferedReader(fr);
String linea;
while( (linea = br.readLine()) != null )
{
float x=linea;
Node.Coordenadax=x;
Lo que no se es como hacer que este Node modifique la info del Node que he puesto en el otro método.
}
fr.close();
}
}