La lecture d'un fichier texte dans une matrice unidimensionnelle

kkkkkk:

J'ai donné la liste des passagers avec les noms des passagers, ce qui représente les passagers qui attendent actuellement dans la salle d'attente (qui est un tableau).

À l'heure actuelle, je me bats avec certaines parties de l'étape 1. Le pseudocode est la suivante:

  1. Lire dans le fichier passengers.dat dans le tableau waitingRoom.

Voici mon code:

    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");  
          }

Mon WAITING_ROOM_CAPACITY ne peut contenir que 30 passagers j'ai créé deux tableaux. Un tableau est pour le waitingRoom et l'autre pour le trainQueue. J'ai essayé de lire le fichier en utilisant le scanner et après la conversion en pseudocode la classe de passagers dans un objet, mais je continue à obtenir « example.Passenger@6bc7c054 » plutôt que de lire les noms réels des passagers à partir du fichier.

entrez la description d'image ici

En plus de cela, j'ai deux classes:

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;
    }

Ceci est mon passager de classe, où je laisse dans mon méthode Add pour ajouter un passager avec leurs noms et prénoms.

Quelqu'un pourrait-il vous plaît aider comme je suis vraiment du mal.

Janvier Uhlig:

Tout d'abord, vous pouvez ajouter des erreurs, des journaux et tout ce que votre sorties de la console ainsi que le texte que vos extraits de code.

Si une erreur ne dit pas clairement, d'information, d'avertissement, d'erreur ou d'exception, il est ni de ceux-ci.

Ce que je vois par votre image est juste une représentation de chaîne de votre entrée de passagers dans votre tableau.

J'essaie de préciser:

Passager est un objet. En System.out.println(passenger);vous venez de dire à votre compilateur que vous voulez imprimer ce passager, mais votre compilateur ne peux pas dire ce que vous voulez imprimer exactement, il vous dit ce qu'il est. A Passengercréé par exampleavec un HexNumber pour l' identification. Il ne sait pas que vous voulez imprimer cette chaîne qui est seulement une partie de cet objet, même si son propably 99% de cet objet.

Ok, maintenant comment le résoudre, assez facilement, dans votre classe de passagers il suffit d'ajouter:

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

Parce que System.out.println () va simplement utiliser la toString()méthode d'impression.

Je suppose que tu aimes

Origine http://43.154.161.224:23101/article/api/json?id=370941&siteId=1
conseillé
Classement