Advertisement
Guest User

Untitled

a guest
Jan 23rd, 2018
72
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.40 KB | None | 0 0
  1. class Dashboard {
  2.    
  3.     //Define variables with default values
  4.     private int speedometer = 0;
  5.     private int odometer = 0;
  6.     private boolean engineLight = false;
  7.    
  8.     public Dashboard() {} //Blank constructor, variables have set defaults
  9.     public Dashboard(int milesTravelled, int speed) {
  10.         //Check if miles travelled is in bounds
  11.         if (0 <= milesTravelled && milesTravelled <= 99999) {
  12.             odometer = milesTravelled;
  13.         } else {
  14.             engineLight = true;
  15.         }
  16.         //Check if speed is in bounds
  17.         if (0 <= speed && speed <= 100) {
  18.             speedometer = speed;
  19.         } else {
  20.             engineLight = true;
  21.         }
  22.     }
  23.    
  24.     public void accelerate() {
  25.         speedometer++; //Do the speeding up
  26.         if (speedometer > 100) { //Check if speed is out of bounds
  27.             speedometer = 0;
  28.             engineLight = true;
  29.         }
  30.     }
  31.    
  32.     public void drive(int numMinutes) {
  33.         if (numMinutes <= 720) { //Time cannot be bigger than 720
  34.             odometer += speedometer * numMinutes / 60; //Add (speed in mph) * (time in minutes) * (1/60 hours to minutes conversion) to odometer value
  35.             if (odometer > 99999) { //Check if miles traveled is out of bounds
  36.                 odometer = 0;
  37.                 engineLight = true;
  38.             }
  39.         }
  40.     }
  41.    
  42.     public String toString() {
  43.         String output = "Speedometer: " + speedometer + " MPH\nOdometer: ";
  44.        
  45.         //Calculate number of digits in odometer variable
  46.         int digits = 0;
  47.         int reading = odometer;
  48.         if (reading == 0) {
  49.             digits++; //When odometer is 0, it has 1 digit, not 0
  50.         } else {
  51.             //Divide number by 10 to count digits, ex: 1234 > 123 > 12 > 1 (4 digits)
  52.             while (reading != 0) {
  53.                 digits++;
  54.                 reading /= 10;
  55.             }
  56.         }
  57.        
  58.         //Output zeros inversely proportional to amount of digits to make a total of 5
  59.         //The NumberFormat class would be very useful here
  60.         for (int i = 0; i < 5 - digits; i++) {
  61.             output += "0";
  62.         }
  63.         output += odometer + "\nCheck Engine: O";
  64.        
  65.         //Outupt "On" if engineLight is true, "Off" otherwise
  66.         if (engineLight) {
  67.             return output + "n";
  68.         } else {
  69.             return output + "ff";
  70.         }
  71.     }
  72.  
  73. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement