trickTruck
timor
java
3 years ago
4.5 kB
6
Indexable
import java.util.ArrayList; public class TrickTruck { public static int daysInJune = 30; private ArrayList<Payment>[] payments = new ArrayList[daysInJune]; private ArrayList<Integer> cars; private ArrayList<String> drivers; /** * constructor */ public TrickTruck() { cars = new ArrayList<Integer>(); drivers = new ArrayList<String>(); for (int i = 0; i < daysInJune; i++) { payments[i] = new ArrayList<Payment>(); } } public ArrayList<Integer> getCars() { return cars; } public ArrayList<String> getDrivers() { return drivers; } // public void getPayments() { // int j = 0; // for (int i = 0; i < daysInJune; i++) { // j = 0; // while (j < payments[i].size()) { // // System.out.println(payments[i].get(j).getAmount()); // System.out.println(payments[i].get(j).getDay()); // System.out.println(payments[i].get(j).getName()); // System.out.println(payments[i].get(j).getLicensePlate()); // j++; // } // } // } public void setDriver(ArrayList<String> drivers) { this.drivers = drivers; } public void setCars(ArrayList<Integer> cars) { this.cars = cars; } public void setPayments(Payment payment) { payments[payment.getDay() - 1].add(payment); } /** * * @param driver- a name of driver that we want to search * @return if he exist true if not false */ public boolean existDriver(String driver) { for (int i = 0; i < drivers.size(); i++) { if (driver == drivers.get(i)) { return true; } } return false; } /** * * @param car- a number of licensePlate that we want to search * @return if it exist true if not false */ public boolean existCar(int car) { for (int i = 0; i < cars.size(); i++) { if (car == cars.get(i)) { return true; } } return false; } /** * * @param nameDriver - the name that we want to know if he work in * @param day - the specific day * @return if he work we return true if not false */ public Boolean Worked(String nameDriver, int day) { for (int i = 0; i < payments[day - 1].size(); i++) { if (nameDriver == payments[day - 1].get(i).getName()) { return true; } } return false; } /** * * @param payment that we want to add or not if the name driver and the * licensePlate in the payment are exist in cars and drivers we * send this payment to "setPayment" to add it and return true if * not we return false * @return */ public Boolean addPayment(Payment payment) { if (existDriver(payment.getName()) == true && existCar(payment.getLicensePlate()) == true) { Payment newPayment = new Payment(payment); setPayments(newPayment); System.out.println("The payment was successfully added"); return true; } else { System.out.println("The payment was not added"); return false; } } /** * * @param day in the payment * @param licensePlate in the payment * @param name in the payment * @param amount in the payment * this method work the same as "addPayment(Payment payment)" * */ public Boolean addPayment(int day, int licensePlate, String name, double amount) { if (existDriver(name) == true && existCar(licensePlate) == true) { Payment newPayment = new Payment(day, licensePlate, name, amount); setPayments(newPayment); System.out.println("The payment was successfully added"); return true; } else { System.out.println("The payment was not added"); return false; } } /** * * @param licensePlate in the payment * we check every day on June the amount of fuel of each car * we return the amount */ public double totalFuel(int licensePlate) { int j = 0; double sumTotalFuel = 0; for (int i = 0; i < daysInJune; i++) { j = 0; while (j < payments[i].size()) { sumTotalFuel = sumTotalFuel + payments[i].get(j).getAmount(); j++; } } return sumTotalFuel; } /** * * @param licensePlate in the payment * @param day the specific day that we want to search * return the amount of fuel that the car used on specific day */ public double totalFuel(int licensePlate, int day) { double SumTotalAtDay = 0; for (int i = 0; i < payments[day - 1].size(); i++) { SumTotalAtDay = SumTotalAtDay + payments[day - 1].get(i).getAmount(); } return SumTotalAtDay; } }
Editor is loading...