将文本文件读入一维数组[关闭]

问题描述 投票:1回答:1

已为我提供了一个乘客名单,其中包含乘客姓名(passengers.dat),它表示当前在候车室(这是一个数组)中等待的乘客。

当前,我正在努力进行步骤1的某些部分。伪代码如下:

  1. 将passenger.dat文件读入waitingRoom数组。
    • 打开passenger.dat文件
    • 重复
    • 读取名字+姓氏
    • 为该乘客创建一个乘客对象
    • 乘客对象=新乘客(名字,姓氏;;);>
    • waitingRoom [i] =乘客对象;
    • 当乘客在该文件中时
  2. 这是我的代码:

package trainstation;

import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.Scanner;

    public class TrainStation {
    static int WAITING_ROOM_CAPACITY = 30;

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

       private static PassengerQueue trainQueue = 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");  
          }

我的WAITING_ROOM_CAPACITY只能容纳30位乘客我创建了两个数组。一个数组用于waitingRoom,另一个数组用于trainQueue。我尝试使用扫描仪读取(passenger.dat)文件,并通过将Passenger类转换为对象来遵循伪代码,但是,我一直在获取“ example.Passenger@6bc7c054”,而不是从中读取乘客的实际姓名。 (passenger.dat)文件。

enter image description here

此外,我还有两个课程:

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

这是我的乘客舱位,在我的add方法中允许添加乘客的姓名和姓氏。

最后,这是我的(passenger.dat)文本文件:

Pera Hanna
Valimaa Inuzuka
Hitoshi Kiran
Suling Boris
Kojemiachenko Greta
Hamm Pedro
Lourencini Kristo
Gregory Hamlin
Pedro Lourencao
Kpodo Awiti
Omar Thiery
Morand Gwen
Lattar Calogero
Awiti Ryan
MZoudi Thomas
Moreau Gwen
Lau Calorio
Regina Pirjo
Waltari Inuzuka
Hitoshi Kiw
Suling Boris
Lucas Ubweza
Awora Ryaz
Nahid Tiffany
Morel Hamilton
Laubmeier Calorio
Rosa Aki
Vanhanen Inuzuka
Boris Kokorin
Grover Hammond

这些是我的waitingRoom数组中所容纳的各种乘客的名字。有人可以帮忙,因为我真的很挣扎。

已为我提供了带有乘客名称(passengers.dat)的乘客列表,该列表表示当前在候车室(这是一个数组)中等待的乘客。目前,我正在与...

java arrays text-files
1个回答
0
投票

首先,您可以添加错误,日志以及控制台输出的任何内容以及文本以及代码段。

© www.soinside.com 2019 - 2024. All rights reserved.