SHARE
TWEET

OOP v4

OlivsonM Apr 23rd, 2019 97 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. package com.company;
  2. import java.util.*;
  3. import java.text.*;
  4. import java.nio.file.Path;
  5. import java.nio.file.Files;
  6. import java.nio.file.Paths;
  7. import java.io.*;
  8. class Car {
  9.  
  10.     private String numberPlate;
  11.     public String getNumberPlate (){
  12.         return this.numberPlate;
  13.     }
  14.     public void setNumberPlate (String numberPlate){
  15.         this.numberPlate = numberPlate;
  16.     }
  17.     private String model;
  18.     public String getModel (){
  19.         return this.model;
  20.     }
  21.     public void setModel (String model){
  22.         this.model = model;
  23.     }
  24.     private String colour;
  25.     public String getColour (){
  26.         return this.colour;
  27.     }
  28.     public void setColour (String colour){
  29.         this.colour = colour;
  30.     }
  31.     private int mileage;
  32.     public int getMileage (){
  33.         return this.mileage;
  34.     }
  35.     public void setMileage (String mileage){
  36.         this.mileage = Integer.parseInt(mileage);
  37.     }
  38.     private String accidentHistory;
  39.     public String getAccidentHistory(){
  40.         return this.accidentHistory;
  41.     }
  42.     public void setAccidentHistory (String accidentHistory){
  43.         this.accidentHistory = accidentHistory;
  44.     }
  45.     private int price;
  46.     public int getPrice (){
  47.         return this.price;
  48.     }
  49.     public void setprice(String price){
  50.         this.price = Integer.parseInt(price);
  51.     }
  52.     private Date arrivalDate;
  53.     public Date getArrivalDate (){
  54.         return this.arrivalDate;
  55.     }
  56.     public void setArrivalDate (String arrivalDate) {
  57.         SimpleDateFormat dateType = new SimpleDateFormat("yyyy-mm-dd");
  58.         try {
  59.             this.arrivalDate = dateType.parse(arrivalDate);
  60.         } catch (ParseException e) {
  61.             System.out.println("wrong date");
  62.         }
  63.     }
  64.  
  65.     private Date sellingDate;
  66.     public Date getSellingDate (){
  67.         return this.sellingDate;
  68.     }
  69.     public void setSellingDate (String sellingDate){
  70.             SimpleDateFormat dateType = new SimpleDateFormat("yyyy-mm-dd");
  71.             try {
  72.                 this.sellingDate = dateType.parse(sellingDate);
  73.             }
  74.             catch (ParseException e){
  75.                 System.out.println("wrong date");
  76.             }
  77.     }
  78.     public void setSellingDate (Date sellingDate){
  79.        this.sellingDate = sellingDate;
  80.     }
  81.     private CarType carType;
  82.     public CarType getCarType (){
  83.         return this.carType;
  84.     }
  85.     public void setCarType (String carType) {
  86.         if (carType == "Hatchback") {
  87.             this.carType = CarType.Hatchback;
  88.         } else if (true) {
  89.         }
  90.     }
  91.     private Size size;
  92.     public Size getSize (){
  93.         return this.size;
  94.     }
  95.     public void setSize (String size){
  96.         if (size == "large") {
  97.             this.size = Size.Large;
  98.         }
  99.         else if  (size == "small"){
  100.             this.size = Size.Small;
  101.         }
  102.     }
  103.     private Transmission transmission;
  104.     public Transmission getTransmission (){
  105.         return this.transmission;
  106.     }
  107.     public void setTransmission (String transmission){
  108.         this.transmission = transmission;
  109.     }
  110.     Car(){
  111.         numberPlate = "";
  112.         model = "";
  113.         colour = "";
  114.         mileage = 0;
  115.         accidentHistory = "";
  116.         price = 0;
  117.         arrivalDate = new Date ();
  118.         sellingDate = new Date ();
  119.         carType = CarType.Saloon;
  120.         size = Size.Large;
  121.         transmission = Transmission.Automatic;
  122.     }
  123.     Car (String numberPlate, String model, String colour, int mileage, String accidentHistory, int price, String arrivalDate, String sellingDate, CarType carType, Size size, Transmission transmission){
  124.         this.numberPlate = numberPlate;
  125.         this.model = model;
  126.         this.colour = colour;
  127.         this.mileage = mileage;
  128.         this.accidentHistory = accidentHistory;
  129.         this.price = price;
  130.         SimpleDateFormat dateType = new SimpleDateFormat("yyyy-mm-dd");
  131.         try {
  132.             this.arrivalDate = dateType.parse(arrivalDate);
  133.             this.sellingDate = dateType.parse(sellingDate);
  134.         }
  135.         catch (ParseException e){
  136.             System.out.println("wrong date");
  137.         }
  138.         this.carType = carType;
  139.         this.size = size;
  140.         this.transmission = transmission;
  141.     }
  142. }
  143. enum CarType {
  144.     Hatchback (5,4), Saloon (5,5), SUV(5,5), MPV(5,7), Van(5,3), Coupe(2,2);
  145.     private int doors;
  146.     private int seats;
  147.     CarType (int doors, int seats){
  148.         this.doors = doors;
  149.         this.seats = seats;
  150.     }
  151.     public int getSeats() {
  152.         return seats;
  153.     }
  154.     public int getDoors() {
  155.         return doors;
  156.     }
  157. }
  158. enum Size {
  159.     Large("Large"), Small("Small");
  160.     private String size;
  161.     Size (String size){
  162.         this.size = size;
  163.     }
  164.     public String GetSize (){
  165.         return this.size;
  166.     }
  167.     public void SetSize (String size){
  168.         this.size = size;
  169.     }
  170. }
  171. enum Transmission {
  172.     Automatic("Automatic"), Manual("Manual");
  173.     private String transmission;
  174.     Transmission(String transmission){
  175.         this.transmission = transmission;
  176.     }
  177.  
  178.     }
  179. class Person {
  180.     protected String username, password;
  181. }
  182. class Staff extends Person {
  183.     public void AddCars(ArrayList<Car>cars){
  184.  
  185.         try {
  186.             FileReader file = new FileReader("ArrayList.txt");
  187.  
  188.             BufferedReader reader = new BufferedReader(file);
  189.             String line;
  190.             String [] arrayLine;
  191.  
  192.             while ((line = reader.readLine()) != null) {
  193.                 arrayLine = line.split(", ");
  194.                 Car car = new Car();
  195.                 car.setNumberPlate(arrayLine[0]);
  196.                 car.setModel(arrayLine [1]);
  197.                 car.setCarType(arrayLine [2]);
  198.                 int x = 1;
  199.                 if (arrayLine[2]== "Van"){
  200.                     x = 0;
  201.                     car.setSize(arrayLine[3]);
  202.                 }
  203.                 car.setColour(arrayLine[4-x]);
  204.                 car.setMileage(arrayLine[5-x]);
  205.                 car.setAccidentHistory(arrayLine[6-x]);
  206.                 car.setTransmission(arrayLine[7-x]);
  207.                 car.setprice(arrayLine[8-x]);
  208.                 if (9-x<arrayLine.length){
  209.                     car.setArrivalDate(arrayLine[9-x]);
  210.                 }
  211.                 if (10-x<arrayLine.length){
  212.                     car.setSellingDate(arrayLine[10-x]);
  213.                 }
  214.                 cars.add(car);
  215.             }
  216.         } catch (IOException e) {
  217.             System.out.println("failure");
  218.         }
  219.     }
  220.     public void AddCar(Car car){
  221.  
  222.  
  223.     }
  224.     public void SellCar(Car car, ArrayList <Car>cars){
  225.         for (Car temporaryCar:cars){
  226.             if(car.getNumberPlate()== temporaryCar.getNumberPlate()){
  227.                 temporaryCar.setSellingDate(new Date());
  228.                 break;
  229.             }
  230.         }
  231.  
  232.     }
  233.     public void PrintCars(){
  234.  
  235.     }
  236.     public ArrayList<Car> Search(String colour, ArrayList<Car>cars){
  237.         ArrayList <Car>selectedCars = new ArrayList<>();
  238.         for (Car temporaryCar:cars){
  239.             if (temporaryCar.getColour() == colour){
  240.                 selectedCars.add(temporaryCar);
  241.             }
  242.         }
  243.         return selectedCars;
  244.     }
  245.     public ArrayList<Car> Search(String model, Transmission transmission, ArrayList<Car>cars){
  246.         ArrayList <Car>selectedCars = new ArrayList<>();
  247.         for (Car temporaryCar:cars){
  248.             if (temporaryCar.getModel() == model && temporaryCar.getTransmission() == transmission){
  249.                 selectedCars.add(temporaryCar);
  250.             }
  251.         }
  252.         return selectedCars;
  253.     }
  254.     public ArrayList<Car> Search(int min, int max, ArrayList<Car>cars){
  255.         ArrayList <Car>selectedCars = new ArrayList<>();
  256.         for (Car temporaryCar:cars){
  257.             if (temporaryCar.getCarType().getSeats() >= min && temporaryCar.getCarType().getSeats()<= max){
  258.                 selectedCars.add(temporaryCar);
  259.             }
  260.         }
  261.         return selectedCars;
  262.  
  263.     }
  264.     public ArrayList<Car> Search(Size size,ArrayList<Car>cars){
  265.         ArrayList <Car>selectedCars = new ArrayList<>();
  266.         for (Car temporaryCar:cars){
  267.             if (temporaryCar.getCarType()== CarType.Van && temporaryCar.getSize()== size){
  268.                 selectedCars.add(temporaryCar);
  269.             }
  270.         }
  271.         return selectedCars;
  272.  
  273.     }
  274.     public int CalculateRevenue(ArrayList <Car>cars,Date sellingDate){
  275.         int result = 0;
  276.         for (int i=0; i<cars.size();i++){
  277.             if (cars.get(i).getSellingDate()== sellingDate){
  278.                 result += cars.get(i).getPrice();
  279.             }
  280.         }
  281.         return result;
  282.     }
  283.     /*public int CalculateRevenue(ArrayList <Car>cars,Date sellingDate){
  284.         int result = 0;
  285.         for (int i=0; i<cars.size();i++){
  286.             if (cars.get(i).getSellingDate()== sellingDate){
  287.                 result += cars.get(i).getPrice();
  288.             }
  289.         }
  290.         return result;
  291.     }*/
  292.  
  293. }
  294. class Customer extends Person {
  295.  
  296. }
  297. class Admin extends Staff {
  298.  
  299. }
  300. public class Main {
  301.  
  302.     public static void main(String[] args) {
  303.     ArrayList <Car>cars = new ArrayList<Car>();
  304.     Staff Jon = new Staff();
  305.     Jon.AddCars(cars);
  306.  
  307.     }
  308. }
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
 
Top