Advertisement
scarinu10

try catch bmi weight

Nov 5th, 2020 (edited)
304
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.89 KB | None | 0 0
  1.   package edu.cscc;
  2.  
  3. import java.util.Scanner;
  4.  
  5. // Nicholas Rigsby, 09/22/2020, This program will output a bmi and classification based on entered values
  6. public class Main {
  7.  
  8.     private static Scanner input = new Scanner(System.in);
  9.  
  10.     public static void main(String[] args) {
  11.         double lbs, inches, meters, kgs, bmi;
  12.         String classification;
  13.  
  14.         System.out.println ("Calculate BMI");
  15.         lbs = inputWeight();
  16.         inches = inputHeight();
  17.         kgs = convertToKilograms (lbs);
  18.         meters = convertToMeters (inches);
  19.         bmi = calcBMI (meters, kgs);
  20.         classification = bmiClassification (bmi);
  21.         System.out.print ("Your BMI is: " +bmi+ "\n");
  22.         System.out.print ("Your BMI classification is: " +classification);
  23.     }
  24.  
  25.  
  26.     //Checks for valid weight input
  27.     public static double inputWeight() {
  28.         boolean weightError = true;
  29.  
  30.         do {
  31.             System.out.print("Enter weight (lbs): ");
  32.             String strLbs = input.nextLine();
  33.  
  34.  
  35.             try {
  36.                 double lbs = Double.parseDouble(strLbs);
  37.                 weightError = false;
  38.                 return lbs;
  39.  
  40.             } catch (NumberFormatException e) {
  41.                 System.out.print("invalid input");
  42.             }
  43.         } while (weightError);
  44.  
  45.         return lbs;
  46.     }
  47.  
  48.     //Checks for valid height input
  49.     public static double inputHeight(){
  50.         boolean heightError = true;
  51.  
  52.         do{
  53.             System.out.print("Enter height (in): ");
  54.             String strIn = input.nextLine();
  55.  
  56.             try {
  57.                 double inches = Double.parseDouble(strIn);
  58.                 heightError = false;
  59.                 return inches;
  60.  
  61.             }catch (NumberFormatException e){
  62.                 System.out.print("invalid input");
  63.  
  64.             }
  65.         }while(heightError);
  66.  
  67.         return inches;
  68.     }
  69.  
  70.  
  71.  
  72.     // Converts weight from pounds to kilograms
  73.     public static double convertToKilograms (double lbs) {
  74.         double kgs;
  75.         kgs = lbs / 2.2046;
  76.         return kgs;
  77.     }
  78.     //Converts height from inches to meters
  79.     public static double convertToMeters (double inches) {
  80.         double meters;
  81.         meters = inches / 39.37;
  82.         return meters;
  83.     }
  84.     //Calculates BMI based on weight and height conversions
  85.     public static double calcBMI (double meters, double kgs){
  86.         double bmi;
  87.         bmi = kgs/Math.pow(meters,2);
  88.         return bmi;
  89.     }
  90.     //Calculates BMI classification
  91.     public static String bmiClassification(double bmi) {
  92.         String classification;
  93.         if (bmi<18.5)
  94.             classification = "Underweight";
  95.         else if (bmi<25.0)
  96.             classification = "Normal";
  97.         else if (bmi<30.0)
  98.             classification = "Overweight";
  99.         else
  100.             classification = "Obese";
  101.         return classification;
  102.     }
  103.  
  104.     }
  105.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement