BufferedReader 사용 (import java.io.*);
//BufferedReader 객체 선언
BufferedReader br = new BufferedReader(new java.io.InputStreamReader(System.in);
//변수에 입력받기
String tmp = br.readLine();
//사용후에는
br.close();
BufferedReader 설명
- String으로 입력형태가 고정되어 있다.
- Enter로만 구분이 된다. = stringTokenizer나 String.split으로 구분지어줘야함
- 속도가 Scanner보다 좋다.(코테할때 해답이 거의 bufferedreader)
- Error handling을 해주어야 함.
BMI 지수구하기에 응용하기
import java.io.*;
import java.util.StringTokenizer;
public class Exam002_BMI_calculator {
public static void main(String[] args) {
String name;
double height;
float weight;
float bmi_index = 0;
BufferedReader br = new BufferedReader(new java.io.InputStreamReader(System.in));
try {
System.out.println("이름을 입력하세요.");
name = br.readLine();
System.out.println("키와 몸무게를 입력하세요(띄어쓰기 구분)");
StringTokenizer stringTokenizer = new StringTokenizer(br.readLine(), " ");
height = Double.parseDouble(stringTokenizer.nextToken());
weight = Float.parseFloat(stringTokenizer.nextToken());
//bmi_index = weight/height 키를 meter 단위 변경 제곱
bmi_index =weight /(float) Math.pow(((float) height / 100), 2);
if(bmi_index < 18.5) {
System.out.printf("%s님의 BMI INDEX: %.2f이며 저체중입니다.", name, bmi_index);
} else if(bmi_index < 23) {
System.out.printf("%s님의 BMI INDEX: %.2f이며 정상체중입니다.", name, bmi_index);
} else if(bmi_index < 25) {
System.out.printf("%s님의 BMI INDEX: %.2f이며 과체중입니다.", name, bmi_index);
} else if(bmi_index >= 25) {
System.out.printf("%s님의 BMI INDEX: %.2f이며 비만입니다.", name, bmi_index);
}
br.close();
} catch (IOException e) {
e.printStackTrace();
System.out.println(e.getMessage());
}
}
}

soae0923