La lectura de un archivo de texto en una matriz unidimensional

kkkkkk:

Se me ha dado la lista de pasajeros con los nombres de los pasajeros, que representa los pasajeros actualmente esperando en la sala de espera (que es una matriz).

Actualmente, estoy luchando con algunas partes de la etapa 1. El pseudocódigo es el siguiente:

  1. Leer en el archivo passengers.dat en la matriz sala de espera.

Aquí está mi código:

    public class TrainStation {
    int WAITING_ROOM_CAPACITY = 30;

       static Passenger[] waitingRoom = new Passenger[WAITING_ROOM_CAPACITY]; 

       static PassengerQueue queue = new PassengerQueue();

       public static void main(String[] args) throws IOException {
       //1. 
            try {
            File pointFile = new File ("passenger.dat");
            Scanner pointReader = new Scanner (pointFile);
            String firstName, surname;
            int i = 0;
            while (pointReader.hasNext()) {
                firstName = pointReader.next();
                surname = pointReader.next();
                Passenger Object = new Passenger(firstName, surname);
                waitingRoom[i] = Object;
                i++;
            }   
                for (int fori=0; fori<WAITING_ROOM_CAPACITY; fori++){
                System.out.println(waitingRoom[fori]); }
            pointReader.close();

          } catch (IOException e) {
            System.out.println("Sorry, file not found");  
          }

Mi WAITING_ROOM_CAPACITY sólo puede contener 30 pasajeros que crea dos matrices. Una matriz es para la sala de espera y el otro para la trainQueue. Traté de leer el archivo usando el escáner y siguiendo el pseudocódigo mediante la conversión de la clase de pasajeros en un objeto, sin embargo, me siguen dando "example.Passenger@6bc7c054" en lugar de leer los nombres reales de los pasajeros desde el archivo.

introducir descripción de la imagen aquí

Además de esto, tengo dos clases:

package trainstation;


public class Passenger {
    private String firstName; 
    private String surname;
    private int secondsInQueue;

    Passenger(String firstName, String surname) {
        this.firstName = firstName;
        this.surname = surname; 
        secondsInQueue = 0;
    }

Esta es mi clase de pasajeros, donde me permito dentro de mi método add para añadir un pasajero con sus nombres y apellidos.

Podría alguien por favor ayuda ya que estoy realmente luchando.

Enero Uhlig:

En primer lugar, se puede añadir errores, registros y cualquier cosa sus salidas de la consola, así como el texto como sus fragmentos de código.

Si no lo hace claramente un error de estado, información, advertencia, error o excepción, no es ninguna de esas.

Lo que veo por la imagen es sólo una representación de cadena de su entrada de pasajeros en su matriz.

Trato de aclarar:

Pasajeros es un objeto. Por System.out.println(passenger);que acaba de decir a su compilador que desea imprimir dicho pasajero, pero el compilador no puede decir lo que desea imprimir con exactitud, por lo que le dice lo que es. A Passengercreado por examplecon un HexNumber para la identificación. No sabe que desea imprimir esa cadena que es sólo una parte de ese objeto, incluso si su además probablemente el 99% de ese objeto.

Ok, ahora cómo solucionarlo, con bastante facilidad, en su clase de pasajero sólo tiene que añadir:

public String toString() { 
   return this.firstName + "," + this.surname;
}  

Debido a que System.out.println () sólo va a utilizar el toString()método para imprimir.

Supongo que te gusta

Origin http://43.154.161.224:23101/article/api/json?id=370943&siteId=1
Recomendado
Clasificación