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
Does anyone know what anotmy means​
deff fn [24]

Answer:

also its spelled anatomy

Explanation:

The branch of science concerned with the bodily structure of humans, animals, and other living organisms, especially as revealed by dissection and the separation of parts.

Hope this helped :3

3 0
3 years ago
Read 2 more answers
Which of the following computer component facilitates internet connection?
babunello [35]

Answer:

your answer may be(utility software)

8 0
3 years ago
Read 2 more answers
DEF is a small consulting firm with ten on-site employees and 10 to 12 part-time (off-site) software consultants. Currently, the
kherson [118]

Answer:

What i would suggest for the organization is to use the Testing Infrastructure strategy. it is good for your consulting firm because it is less costly and provide security.

Explanation:

Solution

There are different network security strategy which is listed below:

Segment the network:

Segmentation in network is very useful for providing security.If any threat is occur only one segment is effected remaining are safe and it is less cost process. very useful for small organizations.

Test your infrastructure :

Testing infrastructure also very good technique.

Always we have to test our infrastructure whether threat is occur or not.

If any threat is happen we can detect that easily by testing our infrastructure.

Regularly update anti-virus software :

This is very useful for small organizations and it is less cost.with less cost we can provide security for all devices like computer,server,modems etc.

Frequently backup your critical data :

This is very good technique for crucial data.If we backup important data any time that will be useful if any attack is happen.

This is less costs and simple.

Change router default security settings :

Changing router password and settings also helpful for providing security.If we maintain same password and same settings for a long time that may lead to data hacking.It is cost less process very useful for small organizations.

6 0
3 years ago
List the correct order of steps necessary to using usmt to migrate files from an old computer to a new computer.
dlinn [17]
The USMT (User State Migration Tool) is designed to assist IT professional migrate files to the windows OS. An example is a step by step migration of files and settings from a windows XP environment to windows 8 using USMT. At the end of the day, you will have used LoadState a ScanState to complete this end to end migration. The correct order is as follows; <span><span>


1.      </span>Gather Data Using the ScanState Tool</span>

<span>a)      </span>Install USMT

<span>b)      </span>Run ScanState to Create a Migration Store on the Server

<span>2.       </span>Install Windows

<span>a)      </span>Install Applications

<span>3.       </span>Apply Data Using the LoadState Tool

<span>a)      </span>Install the USMT

<span>b)     </span> Run LoadState






8 0
3 years ago
Which is an aspect of structural-level design?
DENIUS [597]
I think it’s D. Sorry if it’s wrong
5 0
3 years ago
Read 2 more answers
Other questions:
  • Using the flowchart below, what value when entered for Y will generate a mathematical error and prevent our flowchart from being
    14·1 answer
  • A slightly tapered thread is characteristic of a _______ tap.
    15·1 answer
  • Summarizes statistical data ?
    11·1 answer
  • A user is implementing security on a small office network. Which two actions would provide the minimum security requirements for
    10·1 answer
  • 9. What is composition? Why is composition important?
    11·1 answer
  • Identify the following as True or False.
    14·1 answer
  • Which is not a factor that leads to technological advancement?
    8·1 answer
  • 14. Which of the following information about the ESRT T-teen rating rating is FALSE?
    15·1 answer
  • Help plz
    10·1 answer
  • Why is computer called information processing machine ?????​
    6·2 answers
Add answer
Login
Not registered? Fast signup
Signup
Login Signup
Ask question!