Advertisement
Guest User

rentalRates

a guest
Jan 28th, 2012
224
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 7.34 KB | None | 0 0
  1. import java.util.Calendar;
  2. import java.util.Scanner;
  3.  
  4.  public class RentalRate
  5.  {
  6.  
  7.   public static void main(String[] args)
  8.       {    
  9.          int curMonth = 0;
  10.          int curDay = 0;
  11.          int curYear = 0;
  12.          int birthMonth = 0;
  13.          int birthDay = 0;
  14.          int birthYear = 0;
  15.          String gender = "";
  16.          int age = 0;
  17.          String rateResult;        
  18.        
  19.         // Testing mode... 
  20.          if (args.length > 0)
  21.          {
  22.             // Establish a 'current' date for testing...
  23.             curMonth = 2;
  24.             curDay = 1;
  25.             curYear = 2012;
  26.            
  27.             System.out.println("First test case: Renter is not old enough to rent...");
  28.             birthMonth = 2;
  29.             birthDay = 2;
  30.             birthYear = 1987;
  31.             gender = "m";
  32.             age = calcAge(curMonth, curDay, curYear, birthMonth, birthDay, birthYear);
  33.             rateResult = calcRateClass(age, gender);
  34.             displayResults(gender, age, rateResult);
  35.            
  36.             System.out.println("\nSecond test case: Renter is barely old enough (57/285)...");
  37.             birthMonth = 2;
  38.             birthDay = 1;
  39.             birthYear = 1987;
  40.             gender = "m";
  41.             age = calcAge(curMonth, curDay, curYear, birthMonth, birthDay, birthYear);
  42.             rateResult = calcRateClass(age, gender);
  43.             displayResults(gender, age, rateResult);
  44.            
  45.             System.out.println("\nThird test case: Renter is 35 and male (40/200)...");
  46.             birthMonth = 1;
  47.             birthDay = 1;
  48.             birthYear = 1977;
  49.             gender = "m";
  50.             age = calcAge(curMonth, curDay, curYear, birthMonth, birthDay, birthYear);
  51.             rateResult = calcRateClass(age, gender);
  52.             displayResults(gender, age, rateResult);
  53.          
  54.             System.out.println("\nFourth test case: Renter is 35 and female (40/200)...");
  55.             birthMonth = 1;
  56.             birthDay = 1;
  57.             birthYear = 1977;
  58.             gender = "f";
  59.             age = calcAge(curMonth, curDay, curYear, birthMonth, birthDay, birthYear);
  60.             rateResult = calcRateClass(age, gender);
  61.             displayResults(gender, age, rateResult);
  62.            
  63.             System.out.println("\nFifth test case: Renter is 30 and male (57/285)...");
  64.             birthMonth = 1;
  65.             birthDay = 1;
  66.             birthYear = 1982;
  67.             gender = "m";
  68.             age = calcAge(curMonth, curDay, curYear, birthMonth, birthDay, birthYear);
  69.             rateResult = calcRateClass(age, gender);
  70.             displayResults(gender, age, rateResult);
  71.            
  72.             System.out.println("\nSixth test case: Renter is 30 and female (40/200)...");
  73.             birthMonth = 1;
  74.             birthDay = 1;
  75.             birthYear = 1982;
  76.             gender = "f";
  77.             age = calcAge(curMonth, curDay, curYear, birthMonth, birthDay, birthYear);
  78.             rateResult = calcRateClass(age, gender);
  79.             displayResults(gender, age, rateResult);
  80.          
  81.             System.out.println("\nSeventh test case: Renter is 76 and male (62/255)...");
  82.             birthMonth = 1;
  83.             birthDay = 1;
  84.             birthYear = 1936;
  85.             gender = "m";
  86.             age = calcAge(curMonth, curDay, curYear, birthMonth, birthDay, birthYear);
  87.             rateResult = calcRateClass(age, gender);
  88.             displayResults(gender, age, rateResult);        
  89.          
  90.             System.out.println("\nEighth test case: Renter is 76 and female (66/265)...");
  91.             birthMonth = 1;
  92.             birthDay = 1;
  93.             birthYear = 1936;
  94.             gender = "f";
  95.             age = calcAge(curMonth, curDay, curYear, birthMonth, birthDay, birthYear);
  96.             rateResult = calcRateClass(age, gender);
  97.             displayResults(gender, age, rateResult);        
  98.          }
  99.          else
  100.          {
  101.             Scanner kb = new Scanner(System.in);
  102.             System.out.println("Welcome to the car renter's rate finder.");
  103.          
  104.          // If you're not attempting the EC, get today's date from the user...
  105.          //    Your code goes here...
  106.  
  107.          // If you are attempting the EC, use the Calendar class to get today's date...
  108.          //    Your code goes here...
  109.          
  110.          // Get the gender...
  111.          //    Your code goes here...
  112.  public static String getGender(gender, Scanner kb)
  113.             {
  114.             System.out.println("Please enter the renter's gender (m/f): ");
  115.             gender = kb.nextLine();
  116.             if(gender != 'm' || gender != 'f')
  117.                 {
  118.                 System.out.println("Please enter a valid entry for gender (m/f)");
  119.                 }
  120.             else
  121.                 {
  122.                 return gender;
  123.                 }
  124.             }
  125.          // Get the date of birth...
  126.          //    Your code goes here...
  127.        
  128.             public static int calcAge( curMonth, curDay, curYear, birthMonth, birthDay, birthYear)
  129.             {
  130.             System.out.println("Please enter the renter's date of birth (mm d yyyy)");
  131.             curMonth = kb.nextInt();
  132.             curDay = kb.nextInt();
  133.             curYear = kb.nextInt();
  134.            
  135.             System.out.println("Thank you");
  136.            
  137.            
  138.             int age = curYear-birthYear;
  139.                 if(birthMonth>curMonth)
  140.                 {
  141.                 age--;
  142.                 }
  143.                     else if(birthMonth=curMonth&& BirthDay> curDay)
  144.                     {
  145.                     age--;
  146.                     }
  147.                     return age;
  148.        
  149.             }   //end calcAge
  150.         public static String calcRateClass(age, gender)
  151.             {
  152.             if(gender == 'm' || gender == 'M')//check for gender
  153.             {
  154.                 if(age < 33 && age > 24)
  155.                 {
  156.                 return System.out.println(" Risk rate 2: $57.00 per day or $285.00 per week.");
  157.                 }
  158.                     else if(age > 32 && age < 66)
  159.                     {
  160.                     return System.out.println(" Best rate: 40.00 per day or $200.00 per week.");
  161.                     }
  162.                         else if(age > 65)
  163.                         {
  164.                         return System.out.println(" Risk rate 3: $" + (((age-65)*2.00)+40.00) + " per day or $" + (((age-65)*5.00)+200.00) + " per week.");
  165.                         }
  166.                             else
  167.                             {
  168.                             return System.out.println(" Sorry, the renter is not 25 years of age or older.");
  169.                             }
  170.             }
  171.             else// female
  172.             {
  173.                 if(age < 30 && age > 24)
  174.                 {
  175.                 return System.out.println(" Risk rate 1: $50.00 per day or $255.00 per week.");
  176.                 }
  177.                     else if(age > 29 && age < 63)
  178.                     {
  179.                     return System.out.println("Best rate: $40.00 per day or $200.00 per week.");
  180.                     }
  181.                         else if(age > 62)
  182.                         {
  183.                         return System.out.println(" Risk rate 3: $" + (((age-62)*2.00)+40) + " per day or $" +(((age-62)*5.00)+200.00) + " per week.");
  184.                         }
  185.                             else
  186.                                 {
  187.                                 return System.out.println( " Sorry, the renter is not 25 years of age or older.");
  188.                                 }
  189.             }
  190.             }//end method calcrateclass
  191.             public static String displayResults(gender, age, rateResult)
  192.             {
  193.             System.out.println("Thank you");
  194.             String realGender = " ";
  195.            
  196.             if (gender == 'm' || gender == 'M')
  197.             {
  198.             realGender = "male";
  199.             }
  200.             else if(gender == 'f' || gender == 'F')        
  201.             {
  202.             realGender ="female";
  203.             }
  204.             System.out.println("The " + realGender + " renter is " + age + " years old.");
  205.             System.out.println(rateResult);
  206.             }
  207.  
  208.          // Get age...
  209.             age = calcAge(curMonth, curDay, curYear, birthMonth, birthDay, birthYear);
  210.                
  211.             // Get the rental rate...
  212.             rateResult = calcRateClass(age, gender);
  213.                
  214.             // Display the results...
  215.             displayResults(gender, age, rateResult);
  216.          
  217.             }  // End 'if args.length > 0'
  218.         }  // End main()
  219.                 }//end class
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement