1answer.
Ask question
Login Signup
Ask question
All categories
  • English
  • Mathematics
  • Social Studies
  • Business
  • History
  • Health
  • Geography
  • Biology
  • Physics
  • Chemistry
  • Computers and Technology
  • Arts
  • World Languages
  • Spanish
  • French
  • German
  • Advanced Placement (AP)
  • SAT
  • Medicine
  • Law
  • Engineering
belka [17]
3 years ago
7

Design and code a program including the following classes, as well as a client class to test all the methods coded:A Passenger c

lass, encapsulating a passenger. A passenger has two 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 ArrayList. Your constructor will build the list of passengers by reading data from a file called passengers.txt. You can assume that passengers.txt has the following format:...For instance, the file could contain:James 1Ben 2Suri 1Sarah 1Jane 2...You should include the following methods in your Train class:
a method returning the percentage of passengers traveling in first class
a method taking two parameters representing the price of traveling in first and second class and returning the total revenue for the train
a method checking if a certain person is on the train; if he/she is, the method returns true; otherwise, it returns false
Computers and Technology
1 answer:
sergeinik [125]3 years ago
8 0

Answer:

Code given below

Explanation:

/*

* Class to hold the Passenger data

* Stores the name and classOfService

* */

public class Passenger {

  String name;

int classOfService;

  public Passenger(String string, int classOfService) {

      this.name = string;

      this.classOfService = classOfService;

  }

@Override

  public String toString() {

      return "Passenger [name=" + name + ", classOfService=" + classOfService

              + "]";

  }

@Override

  public int hashCode() {

      final int prime = 31;

      int result = 1;

      result = prime * result + classOfService;

      result = prime * result + ((name == null) ? 0 : name.hashCode());

      return result;

  }

@Override

  public boolean equals(Object obj) {

      if (this == obj)

          return true;

      if (obj == null)

          return false;

      if (getClass() != obj.getClass())

          return false;

      Passenger other = (Passenger) obj;

      if (classOfService != other.classOfService)

          return false;

      if (name == null) {

          if (other.name != null)

              return false;

      } else if (!name.equals(other.name))

          return false;

      return true;

  }

  public String getName() {

      return name;

  }

  public int getClassOfService() {

      return classOfService;

  }

}

----

import java.util.ArrayList;

import java.util.List;

/* Train class for holding the

* passengerList.

* The passengerList is the list of Passenger Object

*/

public class Train {

  List<Passenger> passengerList;

  public Train() {

      passengerList = new ArrayList<Passenger>();

  }

  public Passenger getPassenger(int index) {

      if (index <= 0 && getTotalNumberOfPassengersOnBoard() < index) {

          return null;

      } else {

          return passengerList.get(index - 1);

      }

  }

  public void addPassenger(Passenger p) {

      passengerList.add(p);

  }

  public int getTotalNumberOfPassengersOnBoard() {

      return passengerList.size();

  }

  public boolean isPassengerOnBoard(String name) {

      boolean flag= false;

      for (Passenger p : passengerList) {

          if (p.getName().equalsIgnoreCase(name)) {

              flag = true;

              break;

          } else {

              flag = false;

          }

      }

      return flag;

  }

public double getRevenue(double priceFirstClass, double priceSecondClass) {

      double total = 0.0;

      for (Passenger p : passengerList) {

          if (p.getClassOfService() == 1) {

              total += priceFirstClass;

          } else {

              total += priceSecondClass;

          }

      }

      return total;

  }

  public double getPercentageFirstClassTravellers() {

      double count = 0.0;

      for (Passenger p : passengerList) {

          if (p.getClassOfService() == 1) {

              count++;

          }

      }

      return count / getTotalNumberOfPassengersOnBoard() * 100;

  }

@Override

  public String toString() {

      return "Train [passengerList=" + passengerList + "]";

  }

@Override

  public int hashCode() {

      final int prime = 31;

      int result = 1;

      result = prime * result

              + ((passengerList == null) ? 0 : passengerList.hashCode());

      return result;

  }

@Override

  public boolean equals(Object obj) {

      if (this == obj)

          return true;

      if (obj == null)

          return false;

      if (getClass() != obj.getClass())

          return false;

      Train other = (Train) obj;

      if (passengerList == null) {

          if (other.passengerList != null)

              return false;

      } else if (!passengerList.equals(other.passengerList))

          return false;

      return true;

  }

}

-----------

public class TrainTest {

  public static void main(String[] args) {

      Train t = new Train();

      Passenger p1 = new Passenger("James", 1);

      Passenger p2 = new Passenger("Sarah", 2);

      Passenger p3 = new Passenger("Jhon", 1);

      Passenger p4 = new Passenger("Test", 2);

      // add other passengers Test1 .. Test6

      for (int j = 1; j < 7; j++) {

          t.addPassenger(new Passenger("Test" + j, j % 2));

      }

      t.addPassenger(p1);

      t.addPassenger(p2);

      t.addPassenger(p3);

      t.addPassenger(p4);

      System.out.println("total revenue $" + t.getRevenue(10.0, 25.0));

      System.out.println("total number of passengers on Board .. "

              + t.getTotalNumberOfPassengersOnBoard());

      System.out.println("percentage of first class traveller .. "

              + t.getPercentageFirstClassTravellers());

      System.out.println("getPassenger number # 2 .. " + t.getPassenger(2));

      System.out.println("is passenger Jhon on board ? "

              + t.isPassengerOnBoard("Jhon"));

      System.out.println("is passenger Dummy on board ? "

              + t.isPassengerOnBoard("Dummy"));

      System.out.println("Printing all the Passengers on Board ...");

      for (int i = 1; i <= t.getTotalNumberOfPassengersOnBoard(); i++) {

          System.out.println("" + t.getPassenger(i));

      }

     

      // using the the Train toString to print all the passengers from Train

      System.out.println(t.toString());

  }

}

You might be interested in
Write an inheritance hierarchy for classes Quadrilateral, Trapezoid, Parallelogram, Rectangle and Square. Use Quadrilateral as t
Ymorist [56]

Answer:

CODE:

public class QuadrilateralTest {

public static void main(String[] args) {

// NOTE: All coordinates are assumed to form the proper shapes

// A quadrilateral is a four-sided polygon

Quadrilateral quadrilateral =

new Quadrilateral(1.1, 1.2, 6.6, 2.8, 6.2, 9.9, 2.2, 7.4);

// A parallelogram is a quadrilateral with opposite sides parallel

Parallelogram parallelogram =

new Parallelogram(5.0, 5.0, 11.0, 5.0, 12.0, 20.0, 6.0, 20.0);

// A rectangle is an equiangular parallelogram

Rectangle rectangle =

new Rectangle(17.0, 14.0, 30.0, 14.0, 30.0, 28.0, 17.0, 28.0);

// A square is an equiangular and equilateral parallelogram

Square square =

new Square(4.0, 0.0, 8.0, 0.0, 8.0, 4.0, 4.0, 4.0);

System.out.printf(

"%s %s %s %s\n", quadrilateral, parallelogram,

rectangle, square);

}

}

RESULT:

Coordinates of Quadrilateral are:

2 (1.1, 1.2), (6.6, 2.8), (6.2, 9.9), (2.2, 7.4)

3  

4 Coordinates of Parallelogram are:

5 (5.0, 5.0), (11.0, 5.0), (12.0, 20.0), (6.0, 20.0)

6 Width is: 6.0

7 Height is: 15.0

8 Area is: 90.0

9  

10 Coordinates of Rectangle are:

11 (17.0, 14.0), (30.0, 14.0), (30.0, 28.0), (17.0, 28.0)

12 Width is: 13.0

13 Height is: 14.0

14 Area is: 182.0

15  

16 Coordinates of Square are:

17 (4.0, 0.0), (8.0, 0.0), (8.0, 4.0), (4.0, 4.0)

18 Side is: 4.0

19 Area is: 16.0

Explanation:

7 0
3 years ago
Robin has four copies of her midterm paper saved to a single folder on her
podryga [215]

Answer:

d

Explanation:

i took the test

6 0
3 years ago
which of the following is not an e-reader you would use as a alternative to carrying around a set of textbooks?
musickatia [10]

I have a kindle paper white that I downloaded all of my avalible textbook onto if that helps I find it much better then carrying around a bunch of textbooks
4 0
3 years ago
Area of circle algorithm
den301095 [7]

Answer:

The correct answer is:

A = π r²

5 0
3 years ago
"an excel spreadsheet is an example of a(n ________ database."
Sonja [21]
Sometimes it is hard for some people to say thank you and to rate 5 star when correct so i will you deserve it thanks for adding a correct answer! have a great day!! 
8 0
3 years ago
Other questions:
  • Objectivity is only a small part of assessing a Web site. <br> a. True<br> b. False
    10·1 answer
  • Where are all of your documents saved?
    14·2 answers
  • Which of the following grinding methods is best suited to a shorter cylindrical workpiece?
    8·1 answer
  • The entirety of a packet at one layer becoming the payload section at another layer is known as
    8·2 answers
  • Give two separate print statements: one will print your name, the other will print your major. Ensure that both will print on th
    15·1 answer
  • A company that manufactures machine parts orders a new system that makes products at ten times the speed of the earlier machine.
    6·2 answers
  • Which of the following statements is not true? Group of answer choices
    9·1 answer
  • What is output? Select all that apply. c = 3 while (c &lt; 10): c = c + 2 print (c)
    6·1 answer
  • Please helpppppppppp​
    8·1 answer
  • One benefit proprietary licensed software is that it
    9·1 answer
Add answer
Login
Not registered? Fast signup
Signup
Login Signup
Ask question!