package com.dream.method;
import java.util.Scanner;
//비만도를 측정하는 카우프 지수 프로그램
//카우프 지수 = 체중(kg)/키(신장,m)*키(신장,m)
//건강상태
//30 이상 : 비만
//25~29.9 : 과체중
//20~24.9 : 정상
//15~19.9 : 저체중
//12~14.9 : 여윔
//10~11.9 : 영양 실조증
//10 미만 : 소모증
public class BodyMassMachine {
//사용자로 부터 신장과 체중을 입력받는 weight( )와 height( )를 정의한다.
//신장과 체중 데이터를 기자고 카우프 지수 값을 구하는 kaup( )를 정의한다.
//카우프 지수 값으로 건강상태를 출력하는 getResult( )를 정의한다.
public double weight(Scanner scan) { //사용자에게 체중을 입력받는다. > Scanner 객체(입력 스트림 객체)
double weight = 0;
System.out.print("몸무게(kg) 입력: ");
weight = scan.nextDouble();
return weight; //결괏값은 weight( )를 호출한 곳으로 반환한다.
}
public double height(Scanner scan) { //사용자에게 체중을 입력받는다. > Scanner 객체(입력 스트림 객체)
double height = 0;
System.out.print("키(m) 입력: ");
height = scan.nextDouble();
return height; //결괏값은 height( )를 호출한 곳으로 반환한다.
}
public double kaup(double weight, double height) { //카우프 지수 값을 구할 때 반드시 필요한 필수 데이터: 몸무게, 키
double result = weight / (height * height);
return result; //결괏값은 kaup( )를 호출한 곳으로 반환한다.
}
public String getResult(double kaupValue) { //카우프 지수 값: 필수 데이터
String health = null;
if(kaupValue > 30) {
health = "비만";
}else if(kaupValue >= 25) {
health = "과체중";
}else if(kaupValue >= 20) {
health = "정상";
}else if(kaupValue >= 15) {
health = "저체중";
}else if(kaupValue >= 12) {
health = "여윔";
}else if(kaupValue >= 10) {
health = "영양 실조증";
}else {
health = "소모증";
}
return health;
}
}
package com.dream.method;
import java.util.Scanner;
public class BodyMassMachineMain {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in); //입력 스트림 객체 생성
BodyMassMachine bmm = new BodyMassMachine();
double weight = bmm.weight(scan);
double height = bmm.height(scan);
double kaup = bmm.kaup(weight, height);
String str = bmm.getResult(kaup);
System.out.println("당신의 건강상태는 "+str+"입니다.");
}
}