Assignment 8 - Computer Dating;Select one option from below. All (both) options are worth the same number of points. The more;advanced option(s) are provided for students who find the basic one too easy and want more of a;challenge. Make sure you have read and understood;both modules A and B this week, and;module 2R - Lab Homework Requirements;before submitting this assignment. Hand in only one program, please.;OPTION A (Basic) Date Profiles;Class DateProfile;Create a class called DateProfile that has the following private instance members;gender - a char, the gender of the applicant ('M' or 'F').;searchGender - a char, the gender of desired partner ('M' or 'F'). This is not the gender of;the applicant, but of the applicant's requested partner.;romance - an int from 1 to 10, indicating the importance of romance to the applicant.;finance - an int from 1 to 10, indicating the importance of finance to the applicant.;name - a String indicating the full name of the applicant.;Each object in the DateProfile class represents an applicant's profile. If the object is ('M', 'F', 7, 4;Hugh Hefner") then the applicant's name is "Hugh Hefner", he's looking for a date who is Female;with romance being somewhat important (7) and finance being less important (4).;You should supply all of the following member functions of class DateProfile (at a minimum);Accessors and Mutators for each field (instance member). For example: char;getGender() and boolean setGender(char gdr).;Constructors that take no parameters (default) and all 5 parameters.;double fitValue(DateProfile partner), which returns a number from 0.0 (very bad fit) to 1.0;(perfect fit). The public instance method compares the calling object (this) to the object;passed as a parameter. This method should call three private methodsdetermineGenderFit(...), determineRomanceFit(...) and determineFinanceFit(...), that will be used to return;intermediate results for each of the three factors. It should multiply the three intermediate;numbers together to get and return the final FitValue.;double determineGenderFit(DateProfile partner) returns either a 0 or 1 depending on the;gender compatibility of the calling object and the passed parameter object. You have to;compare gender compatibility completely: i.e., there must be mutualconsent on this one!;double determineRomanceFit(DateProfile partner) returns a number from 0.0 to 1.0;depending on the romance compatibility of the calling object and the passed parameter;object. The romance numbers should be highest (1.0) if the two values are equal (both 3;both 5, both 7) and lowest (perhaps a small non-zero value like.1) if their difference is 9.;double determineFinanceFit(DateProfile partner) returns a number from 0.0 to 1.0;depending on the finance compatibility of the calling object and the passed parameter object.;The finance numbers should be highest (1.0) if the two values are equal (both 3, both 5, both;7) and lowest (perhaps a small non-zero value like.1) if their difference is 9.;DateProfile should be a class distinct from (and not contained within) your main class (which we;call Foothill). However, you can and should defined it as a non-public class so it can reside in the;same file, Foothill.java.;The Client Driver;From your main() inside Foothill, you will instantiate a total of;four DateProfile objects, applicant1,... applicant4 manually from literal values in your program;i.e., do not involve the user with run-time input. Then for each of the four applicants, display;the fitswith the others - including themselves. Do this by showing the name of the applicant, then;the names and fit values of all applicants relative to this one applicant. Repeat this list for all four;applicants producing 16 comparison figures grouped into four groups of four each. (You will be;comparing each applicant to his/herself in each of these four groups. This will serve to check;whether the result is correct - it must be either a 1 or a 0 depending on the searchGender they;requested, but never a number between (can you see why?)). Here is part of a sample output;Hugh Hefner;Carmen Miranda fit: 0.82314;Brad Pitt fit 0.0;Mary Lynn Rajskub fit 0.6302;Hugh Hefner fit 0.0;Carmen Miranda;Carmen Miranda fit: 0.0;Brad Pitt fit.72029;Mary Lynn Rajskub fit 0.0;Hugh Hefner fit 0.82314,... etc.;Make sure all mutators, constructors and other methods that affect private data adequately test for;illegal values and, if possible, return a boolean that reports the results of this test.
Paper#67155 | Written in 18-Jul-2015Price : $22