Design and code a program including the following classes as well as a client cl
ID: 3563022 • Letter: D
Question
Design and code a program including the following classes as well as a client class to test all the methods coded:A Passenger class, encapsulating a passenger. A passenger has 2 attributes: a name, and a class of service, which will be 1 or 2.
A Train class, encapsulating a train of passengers. A train of passengers has one attribute: a list of passengers, which must be represented with an Array List. Your constructor will build the list of passengers by reading data from a file called passengers.txt.
Write a client class to test all your methods in Train Class
Explanation / Answer
Note : Please specify your passenger.txt file path in constructor of train class
The current entry contains the path of my local system
==========================================
Class for Passenger.java
==========================================
public class Passenger {
private String name;
private String classOfService;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getClassOfService() {
return classOfService;
}
public void setClassOfService(String classOfService) {
this.classOfService = classOfService;
}
}
===============================================
Class for Train.java
===============================================
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
import java.util.ArrayList;
public class Train {
private ArrayList<Passenger> passengersList;
BufferedReader br = null;
public Train() {
//initializing passengers arrayList
passengersList = new ArrayList<Passenger>();
try {
String sCurrentLine;
//Please must modify the file path you have here
//If you have windows the path will be like this example D:\passengers.txt
//If you are using linux it will be /home/username/foldername/passengers.txt
br = new BufferedReader(new FileReader("D:\passengers.txt"));
//Reading data from passengers.txt make sure that your passenger info must be in name and followed by class of service in text file
//and must be separated by space
while ((sCurrentLine = br.readLine()) != null) {
String[] passengerInfo = sCurrentLine.split(" ");
if(passengerInfo.length==2) {
Passenger passenger = new Passenger();
passenger.setName(passengerInfo[0]);
passenger.setClassOfService(passengerInfo[1]);
//Adding one by one passenger to list
passengersList.add(passenger);
}
}
} catch (IOException e) {
System.out.println("File Not Found");
}
}
public ArrayList<Passenger> getPassengersList() {
return passengersList;
}
public void setPassengersList(ArrayList<Passenger> passengersList) {
this.passengersList = passengersList;
}
}
=================================================
Class for Client.java
=================================================
import java.util.ArrayList;
public class Client {
public static void main(String[] args) {
//Creating train object
Train train = new Train();
System.out.println("Passengers List");
System.out.println("=======================================");
System.out.println("Passenger Name Class of Service:");
System.out.println("=======================================");
ArrayList<Passenger> passengersList = train.getPassengersList();
for(Passenger passenger:passengersList) {
System.out.println(passenger.getName() +" "+passenger.getClassOfService());
}
}
}
======================================================
Output
=======================================================
Passengers List
=======================================
Passenger Name Class of Service:
=======================================
Smith 1
Cook 2
Stefen 1
Warner 2
Hussy 1
Anderson 2
James 1
==========================================================
The file i have used for passengers.txt contains this
=====================================================
Smith 1
Cook 2
Stefen 1
Warner 2
Hussy 1
Anderson 2
James 1
==================================================================
Note: Please make sure that your passengers.txt also contains the same format, i mean name followed by class of service and seperated by space.
Related Questions
drjack9650@gmail.com
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.