Here is the Person Class Provided Use the following files Pe

Here is the Person Class Provided:

Use the following files:

Person.java

Here is the tester file:

InsruanceTester.java

I have done three of the methods i just need the last one public double monthly premium method completed. Here is my code:

public class Person
{
private String name;
private String gender;
private int age;
  
/**
* Consructs a Person object
* @param name the name of the person
* @param gender the gender of the person either
* m for male or f for female
* @param age the age of the person
*/
public Person(String name, String gender, int age)
{
this.name = name;
this.gender = gender;
this.age = age;
}
  
/**
* gets the age of this Person
* @return the age of this Person
*/
public int getAge()
{
return age;
}
  
/**
* gets the gender of this Person
* @return the gender of this Person
*/
public String getGender()
{
return gender;
}
  
/**
* gets the name of this Person
* @return the name of this Person
*/
public String getName()
{
return name;
}
  
/**
* Increases the age of this Person by 1 year
*/
public void birthday()
{
age = age + 1;
}
}

/**
* Models an Insurance client
*/
public class Insurance
{
private Person client;
/**
* Constructs an Insurance object with the given Person
* @param p the Person for this Insurance
*/
public Insurance(Person p)
{
client = p;
}
public int clientAge(){
   return client.getAge();
}
public String clientGender(){
   return client.getGender();
}
public void incrementAge(){
   client.birthday();
}

}

Solution

//Person.java
public class Person
{
   private String name;
   private String gender;
   private int age;

   /**
   * Consructs a Person object
   * @param name the name of the person
   * @param gender the gender of the person either
   * m for male or f for female
   * @param age the age of the person
   */
   public Person(String name, String gender, int age)
   {
       this.name = name;
       this.gender = gender;
       this.age = age;
   }

   /**
   * gets the age of this Person
   * @return the age of this Person
   */
   public int getAge()
   {
       return age;
   }

   /**
   * gets the gender of this Person
   * @return the gender of this Person
   */
   public String getGender()
   {
       return gender;
   }

   /**
   * gets the name of this Person
   * @return the name of this Person
   */
   public String getName()
   {
       return name;
   }

   /**
   * Increases the age of this Person by 1 year
   */
   public void birthday()
   {
       age = age + 1;
   }
}

--------------------------------------------------------------------------------------------------------------


/**
* Models an Insurance client
*/
public class Insurance
{
   private Person client;
   /**
   * Constructs an Insurance object with the given Person
   * @param p the Person for this Insurance
   */
   public Insurance(Person p)
   {
       client = p;
   }
   public int clientAge(){
       return client.getAge();
   }
   public String clientGender(){
       return client.getGender();
   }
   public void incrementAge(){
       client.birthday();
   }
  
   /**
   * The method monthlyPremium that sets the insurance
   * value based on gender and age
   * */
   public double monthlyPremium() {

       double insurance=0;
      
       //Checking if age of client object is <16
       //return -1
       if(client.getAge()<16)
       {
           insurance=-1;
           return insurance;
       }
       //checking if client gender is m
       if(client.getGender().equals(\"m\"))
       {
           //check age and set insurance
           if(client.getAge()<25)
               insurance=85.50;
           //age is between 25 and 85(exclusive)
           if(client.getAge()>=25 && client.getAge()<85)
               insurance=55.00;
           //age is >=85
           if(client.getAge()>=85)
               insurance=92.00;          
       }
       else
       {
           //check age and set insurance
           if(client.getAge()<25)
               insurance=79.25;
           //age is between 25 and 85(exclusive)
           if(client.getAge()>=25 && client.getAge()<85)
               insurance=45.00;
           //age is >=85
           if(client.getAge()>=85)
               insurance=90.00;
       }
      
          
       //return insurance
       return insurance;
      
   }//end of the monthlyPremium

}

--------------------------------------------------------------------------------------------------------------


/**
* Test the Insurance class
*/
//InsruanceTester.java
public class InsruanceTester
{
   public static void main(String[] args)
   {
       //male 15
       Insurance policy = new Insurance(
               new Person(\"Carlos\", \"m\", 15));
       System.out.println(\"underage: \" + policy.monthlyPremium());
       System.out.println(\"Expected: -1.0\");

       //male 16
       policy.incrementAge(); //increment to 16
       System.out.println(\"male < 25: \" + policy.monthlyPremium());
       System.out.println(\"Expected: 85.5\");

       //male 25
       policy = new Insurance(
               new Person(\"Henry\", \"m\", 25));
       System.out.println(\"male 25 to 85: \" + policy.monthlyPremium());
       System.out.println(\"Expected: 55.0\");

       //male 85
       policy = new Insurance(
               new Person(\"Thong\", \"m\", 85));
       System.out.println(\"male 85: \" + policy.monthlyPremium());
       System.out.println(\"Expected: 92.0\");

       //female 15
       policy = new Insurance(
               new Person(\"Ashwanee\", \"f\", 15));
       System.out.println(\"underage: \" + policy.monthlyPremium());
       System.out.println(\"Expected: -1.0\");

       //female 16
       policy.incrementAge();
       System.out.println(\"female < 25: \" + policy.monthlyPremium());
       System.out.println(\"Expected: 79.25\");

       //female 25
       policy = new Insurance(
               new Person(\"Rebecca\", \"f\", 25));
       System.out.println(\"female 25 to 85: \" + policy.monthlyPremium());
       System.out.println(\"Expected: 45.0\");

       //female 85
       policy = new Insurance(
               new Person(\"Chen\", \"f\", 85));
       System.out.println(\"female 85: \" + policy.monthlyPremium());
       System.out.println(\"Expected: 90.0\");  
   }
}

--------------------------------------------------------------------------------------------------------------

Sample Output:

underage: -1.0
Expected: -1.0
male < 25: 85.5
Expected: 85.5
male 25 to 85: 55.0
Expected: 55.0
male 85: 92.0
Expected: 92.0
underage: -1.0
Expected: -1.0
female < 25: 79.25
Expected: 79.25
female 25 to 85: 45.0
Expected: 45.0
female 85: 90.0
Expected: 90.0

Here is the Person Class Provided: Use the following files: Person.java Here is the tester file: InsruanceTester.java I have done three of the methods i just ne
Here is the Person Class Provided: Use the following files: Person.java Here is the tester file: InsruanceTester.java I have done three of the methods i just ne
Here is the Person Class Provided: Use the following files: Person.java Here is the tester file: InsruanceTester.java I have done three of the methods i just ne
Here is the Person Class Provided: Use the following files: Person.java Here is the tester file: InsruanceTester.java I have done three of the methods i just ne
Here is the Person Class Provided: Use the following files: Person.java Here is the tester file: InsruanceTester.java I have done three of the methods i just ne

Get Help Now

Submit a Take Down Notice

Tutor
Tutor: Dr Jack
Most rated tutor on our site