diff --git a/CarInsuranceChecker.java b/CarInsuranceChecker.java index a569071..959bb6b 100644 --- a/CarInsuranceChecker.java +++ b/CarInsuranceChecker.java @@ -25,6 +25,7 @@ public boolean approved() { public class CarInsuranceChecker { public static void main(String[] args) { + Customer cu = new Customer(); Scanner sc = new Scanner(System.in); System.out.println("====================="); System.out.println("|| COVERAGE UNITED ||"); @@ -34,14 +35,23 @@ public static void main(String[] args) { System.out.println("[3] Exit"); System.out.println("What do you want to do? "); Questionnaire questionnaire = new Questionnaire(); + PremiumCalculator premCalc = new PremiumCalculator(); + InsuranceChecker fullCov = new InsuranceChecker(); + InsuranceChecker partialCov = new PartialCoverage(); + InsuranceChecker basicCov = new BasicCoverage(); int answer = sc.nextInt(); if (answer == 1) { questionnaire.collectCustomerDetails(); printables pr = new printables(questionnaire); pr.approved(); + System.out.println("Customer's Premium is: " + premCalc.calculatePremium(15000, cu.getAccidentHistory(), cu.getDE())); + fullCov.checkInsurance(cu.getCarAge(), cu.getAccidentHistory()); + partialCov.checkInsurance(cu.getCarAge(), cu.getAccidentHistory()); + basicCov.checkInsurance(cu.getCarAge(), cu.getAccidentHistory()); } else if (answer == 2){ csvRelated cr = new csvRelated(); cr.insuranceList(); } + sc.close(); } } \ No newline at end of file diff --git a/InsuranceChecker.java b/InsuranceChecker.java index bb7dd68..30cb40f 100644 --- a/InsuranceChecker.java +++ b/InsuranceChecker.java @@ -1,17 +1,28 @@ class InsuranceChecker { - void FullCoverage(int carAge, int accidentHistory){ + boolean flag = false; + public boolean getFlag(){ + return flag; + } + public void setCarModel(boolean flag){ + this.flag = flag; + } + void checkInsurance(int carAge, int accidentHistory){ if(carAge <= 5 && accidentHistory == 0){ System.out.println("Full Coverage"); } } +} - void PartialCoverage(int carAge, int accidentHistory){ - if(carAge >= 6 && carAge <= 10 || accidentHistory <=1){ +class PartialCoverage extends InsuranceChecker{ + @Override void checkInsurance(int carAge, int accidentHistory){ + if(carAge >= 6 && carAge <= 10 || accidentHistory >=1){ System.out.println("Partial Coverage"); } } +} - void BasicCoverage(int carAge, int accidentHistory){ +class BasicCoverage extends InsuranceChecker{ + @Override void checkInsurance(int carAge, int accidentHistory){ if(carAge > 10){ System.out.println("Basic Coverage"); } diff --git a/approvedInsurance.csv b/approvedInsurance.csv index c6ba29c..ba15d6e 100644 --- a/approvedInsurance.csv +++ b/approvedInsurance.csv @@ -4,3 +4,5 @@ "toby","20","4","something","4","4" "jao","21","2","toyota","2","2" "potato","24","6","tesla","5","69" +"ALF","19","3","TESLA","4","5" +"Freddy","44","3","Ford","2","1" diff --git a/csvRelated.java b/csvRelated.java index 90d56ba..0bf58be 100644 --- a/csvRelated.java +++ b/csvRelated.java @@ -1,3 +1,4 @@ +import java.util.Scanner; import java.io.FileReader; import com.opencsv.CSVReader; import com.opencsv.CSVWriter; @@ -9,6 +10,7 @@ class approvedList { public void insuranceList(){ + Scanner sc = new Scanner(System.in); try (CSVReader csvReader = new CSVReader(new FileReader("approvedInsurance.csv"))) { List rows = csvReader.readAll(); // Read all rows at once // Iterate and print each row @@ -16,8 +18,30 @@ public void insuranceList(){ for (String value : row) { System.out.print(String.format("%-30s", value)); } - System.out.println(); // Move to the next line + System.out.println(); } + System.out.println("[1] Search | [2] Delete | [3] Exit"); + int choice = sc.nextInt(); + if (choice == 1) { + try (CSVReader read = new CSVReader(new FileReader("approvedInsurance.csv"))) { + System.out.println("===================================================="); + System.out.println("Enter Insurance ID"); + System.out.println("===================================================="); + sc.nextLine(); + String searchID = sc.nextLine(); + for (String[] array : rows) { + if (searchID.equalsIgnoreCase(array[0])) { + System.out.println("Match found: " + searchID); + System.out.println(String.join(",", array)); + break; + } else { + System.out.println("No match: " + searchID); + } + } + } catch (Exception e) { + e.printStackTrace(); + } + } } catch (IOException | CsvException e) { e.printStackTrace(); } diff --git a/src/CarInsuranceChecker.java b/src/CarInsuranceChecker.java deleted file mode 100644 index 53b60b0..0000000 --- a/src/CarInsuranceChecker.java +++ /dev/null @@ -1,5 +0,0 @@ -public class CarInsuranceChecker { - public static void main(String[] args) { - System.out.println("Hello World"); - } -} \ No newline at end of file diff --git a/src/Customer.java b/src/Customer.java deleted file mode 100644 index c93423c..0000000 --- a/src/Customer.java +++ /dev/null @@ -1,5 +0,0 @@ -public class Customer extends Person{ - private String carModel; - private int carAge; - private int accidentHistory; -} diff --git a/src/InsuranceChecker.java b/src/InsuranceChecker.java deleted file mode 100644 index d0edbc1..0000000 --- a/src/InsuranceChecker.java +++ /dev/null @@ -1,19 +0,0 @@ -class InsuranceChecker { - void FullCoverage(int carAge, int accidentHistory){ - if(carAge <= 5 && accidentHistory == 0){ - System.out.println("Full Coverage"); - } - } - - void PartialCoverage(int carAge, int accidentHistory){ - if(carAge >= 6 && carAge <= 10 || accidentHistory <=1){ - System.out.println("Partial Coverage"); - } - } - - void BasicCoverage(int carAge, int accidentHistory){ - if(carAge > 10){ - System.out.println("Basic Coverage"); - } - } -} diff --git a/src/Person.java b/src/Person.java deleted file mode 100644 index 1c4d5c4..0000000 --- a/src/Person.java +++ /dev/null @@ -1,5 +0,0 @@ -public class Person { - String name; - String age; - int drivingExperience; -} diff --git a/src/PremiumCalculator.java b/src/PremiumCalculator.java deleted file mode 100644 index 095c24d..0000000 --- a/src/PremiumCalculator.java +++ /dev/null @@ -1,16 +0,0 @@ -public class PremiumCalculator { - int calculatePremium(int premiumAmount, int accidentHistory, int drivingExperience){ - premiumAmount += (7500 * accidentHistory); - if(drivingExperience < 3){ - premiumAmount += 3000; - } else if(drivingExperience > 5){ - premiumAmount -= (premiumAmount * .10); - } else if(drivingExperience > 10){ - premiumAmount -= 1500; - premiumAmount -= (premiumAmount * .20); - } - - return premiumAmount; - } - -}