package com.spring.sample.s0613;
import org.springframework.context.support.ClassPathXmlApplicationContext;
/*
비만도(BMI) 계산하는 프로그램을 만드시오.
공식 : 몸무게 / (키백분율 * 키백분율)
예) 키:170Cm, 몸무게:65Kg
비만지수 구하는 공식 : 65 / (1.7 * 1.7)
비만지수에 대한 판정?
저체중: 18.5미만, 표준 : 18.5~23 , 과체중:23~25, 비만:25초과
데이터의 주입은 xml을 통해서 처리한다.(입력값 : 비만지수값, 개인별 성명/키/몸무게)
*/
public class BMIService {
public void getLine() {
System.out.println("==============================================");
}
public void printTitle() {
System.out.println(" 번호\t성명\t키\t몸무게\t비만지수\t판정");
}
public BMIVO calc(BMIVO vo) {
double height = vo.getHeight() / 100.0;
double bmi = (double) vo.getWeight() / (height * height);
String strBmi = "";
ClassPathXmlApplicationContext ctx = new ClassPathXmlApplicationContext("xml/BMI.xml");
BMIVO bmiVo = (BMIVO) ctx.getBean("BMI");
if(bmi > bmiVo.getObese()) strBmi = "비만";
else if(bmi >= bmiVo.getOverweight()) strBmi = "과체중";
else if(bmi >= bmiVo.getStandard()) strBmi = "표준";
else if(bmi < bmiVo.getUnderweight()) strBmi = "저체중";
else strBmi = "오류";
vo.setBmi(bmi);
vo.setStrBmi(strBmi);
return vo;
}
public String printBMI(BMIVO vo) {
String str = vo.getName()+"\t"+vo.getHeight()+"cm\t"+vo.getWeight()+ "kg\t"+String.format("%.1f", vo.getBmi())+"\t"+vo.getStrBmi();
return str;
}
}
첫댓글 잘 보았습니다.
디자인부분도 깔끔하게 잘 처리하셨네요.
비만도 지수값도 xml에 잘 하셨는데, 다음에는 각 나라별, 성별로 비만도값을 xml에 넣고 '나라/성별' 값까지 xml에서 받은후 다양한 처리를 생각해 보시면 좋을듯 합니다. 수고하셨어요.