BufferedReader 사용 (import java.io.*);

//BufferedReader 객체 선언
BufferedReader br = new BufferedReader(new java.io.InputStreamReader(System.in);
//변수에 입력받기
String tmp = br.readLine();
//사용후에는
br.close();

BufferedReader 설명

  1. String으로 입력형태가 고정되어 있다.
  2. Enter로만 구분이 된다. = stringTokenizer나 String.split으로 구분지어줘야함
  3. 속도가 Scanner보다 좋다.(코테할때 해답이 거의 bufferedreader)
  4. 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());
		}
		
	}
}

Leave a comment

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다