안녕하세요 자바칩 프라푸치노입니다.
오늘은 조건문으로 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
'JAVA > java 문제' 카테고리의 다른 글
[자바JAVA] 조건문 - 연산기호를 입력하여 연산결과 출력하기, switch문, if문 (0) | 2020.10.01 |
---|---|
[자바JAVA] 조건문 - 월을 입력받고 계절 출력 switch문 , if문 (0) | 2020.09.30 |
[자바JAVA]연산자 - 초를 입력받아서 시간, 분 , 초로 출력하기 (0) | 2020.09.20 |
[자바JAVA]연산자 - 섭씨 화씨 변환하기 (0) | 2020.09.20 |
[자바JAVA]연산자 - 쉬프트연산자, 논리연산자, 비교연산자, 증감연산자 (0) | 2020.09.19 |