JAVA/java 문제

[자바JAVA] 조건문 - BMI구하고 체중관리 출력하기(스캐너, 삼항연산자, if문)

자바칩 프라푸치노 2020. 9. 30. 13:22

안녕하세요 자바칩 프라푸치노입니다.

오늘은 조건문으로 BMI를 구해서 체중이 표준인지 체중관리가 필요한지 찍어보겠습니다.

(스캐너, 삼항연산자, if문 사용)

 

문제입니다.

저는 아직 버퍼를 모르기때문에 .. 

스캐너로 풀어보겠습니다.

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
import java.util.Scanner;
 
public class 문제1 {
 
    public static void main(String[] args) {
        
 
        Scanner scanner = new Scanner(System.in);
        
        double weight = 0.0;
        double height = 0.0;
        double bmi = 0.0;
        
        System.out.print("키(m) 입력:  ");
        height = scanner.nextDouble();
        System.out.print("몸무게(kg) 입력:  ");
        weight = scanner.nextDouble();
        
        bmi = weight/((height/100* (height/100));
        System.out.println(bmi);
        String BMI = (20<= bmi && bmi < 25)? "표준입니다." : "체중관리가 필요합니다.";
        System.out.println("키(m) 입력 : " + height);
        System.out.println("몸무게(kg) 입력 : " + weight);
        System.out.println(BMI);
        
        // 삼항 연산자 사용. 
        // 조건문? 참: 거짓 
        
        
        
        
        if (bmi>= 20 && bmi < 25) {
            System.out.println("표준입니다.");
        } else {
            System.out.println("체중관리가 필요합니다. ");
        }
        
        // if문 사용
        // 50: 50 일때 사용
        // if문에서 참이면 실행하고 아니면 else문 실행.
        
        
        scanner.close();
        
    
 
    }
 
}
 
cs

결론적인 코드이구요 하나씩 보겠습니다.

 

1) 스캐너를 통해서 키와 몸무게를 각각 double형으로 입력받습니다.

 

2) bmi공식이 

몸무게/(키*키) 였으니

키를 163 그대로 입력하려면 

키에 100을 나눠서 곱해주어야합니다.

 

bmil가 맞는지도 찍어봅니다.

3) 삼항연산자를 사용하여

조건식안의 문장이 참이면 

표준입니다가 출력되고

거짓이면 체중관리가 필요합니다 라고 나오게 코드를 적었습니다.

20<= bmil <25일때 정상이므로 조건식을 그렇게 지정해주었습니다.

 

문제가 잘못되었는데

표준입니다가 아니고 체중관리가 필요합니다 라고 나옵니다.

 

4) if문을 사용했습니다.

마찬가지로 조건식을 갖게 해주고

맞으면 if문 안의 값이 출력이 되고

그 이외의 모든 값들은 

else구문안의 값이 출력이 됩니다. 

 

출력결과가 이렇게 나왔습니다!

728x90