안녕하세요, 코린이의 코딩 학습기 채니 입니다.
난수, 조건문에 대해서 간단한 실습 문제들을 풀어보았습니다.
개인 포스팅용으로 내용에 오류 및 잘못된 정보가 있을 수 있습니다.
@실습 문제1
다음 난수를 각각 출력하는 코드를 작성하세요
- 0~9까지의 랜덤수
- 1~10까지의 랜덤수
- 20~35까지의 랜덤수
- 0 또는 1
public void test1() {
//Random 클래스 사용
Random ran = new Random();
int ran1 = ran.nextInt(10);
System.out.println("0~9까지의 랜덤수 : " + ran1);
int ran2 = ran.nextInt(10) + 1;
System.out.println("1~10까지의 랜덤수 : " + ran2);
//Math.random() 사용
int ran3 = (int)(Math.random()*16) + 20;
System.out.println("20~35까지의 랜덤수 : " + ran3);
int ran4 = (int)(Math.random()*2);
System.out.println("0 또는 1 : " + ran4);
}
@콘솔출력값
0~9까지의 랜덤수 : 2
1~10까지의 랜덤수 : 5
20~35까지의 랜덤수 : 27
0 또는 1 : 1
@실습 문제2
public void test2() {
Scanner sc = new Scanner(System.in);
String line1 = "=== 가위 바위 보 게임 ===";
String line2 = "===== 결과 =====";
String line3 = "===============";
System.out.println(line1);
System.out.print("> 숫자를 선택하세요(1.가위/2.바위/3.보) : ");
int user = sc.nextInt();
String userStr = user == 1 ? "가위" : user == 2 ? "바위" : "보";
int ran = (int)(Math.random()*3) + 1;
String ranStr = ran == 1 ? "가위" : ran == 2 ? "바위" : "보";
System.out.println(line2);
System.out.printf("당신은 %s를 냈습니다. \n", userStr);
System.out.printf("컴퓨터는 %s를 냈습니다.\n", ranStr);
System.out.println(line3);
if(user - ran == -2 || user - ran == 1) {
System.out.println("당신이 이겼습니다!");
} else if(user == ran) {
System.out.println("비겼습니다!");
} else {
System.out.println("당신이 졌습니다!");
}
}
@콘솔출력값
=== 가위 바위 보 게임 ===
> 숫자를 선택하세요(1.가위/2.바위/3.보) : 1
===== 결과 =====
당신은 가위를 냈습니다.
컴퓨터는 보를 냈습니다.
===============
당신이 이겼습니다!
@실습 문제3
국어(int), 영어(int), 수학(int) 점수를 정수형으로 입력 받아
총점(int)과 평균(double)을 계산하고
세 과목의 점수와 평균을 가지고 합격여부 처리,
세 과목 점수가 각각 40점 이상이면서, 평균이 60점 이상이면 합격,
아니면 불합격을 출력하는 프로그램을 작성하세요.
public void test1() {
Scanner sc = new Scanner(System.in);
System.out.print("> 국어 영어 수학 점수를 입력하세요 : ");
int kor = sc.nextInt();
int eng = sc.nextInt();
int math = sc.nextInt();
int add = kor + eng + math;
double avg = add / 3;
if(kor >= 40 && eng >= 40 && math >= 40 && avg >= 60) {
System.out.println("합격");
} else {
System.out.println("불합격");
}
}
@콘솔출력값
> 국어 영어 수학 점수를 입력하세요 : 39 100 100
불합격
@실습 문제4
정수 두개를 입력 받고, 연산자(+,-,*,/)를 입력받은 다음 계산한 뒤 결과를 출력하는 계산기 프로그램을 만들어보세요.
출력 예) 입력 5, 6, +
5+6=11
음수가 입력되거나 +,-,*,/ 이외의 문자가 입력되면 “잘못 입력 하셨습니다. 프로그램을 종료합니다.” 라는 문구가 출력되게 하세요.
public void test2() {
Scanner sc = new Scanner(System.in);
System.out.print("> 정수 두 개를 입력하세요 : ");
int num1 = sc.nextInt();
int num2 = sc.nextInt();
if(num1 < 0 || num2 < 0) {
System.out.println("잘못 입력하셨습니다. 프로그램을 종료합니다.");
return;
}
System.out.print("> 연산자를 입력하세요(+,-,*,/) : ");
char op = sc.next().charAt(0);
boolean opCheck = !(op == '+' || op == '-' || op == '*' || op == '/');
if(opCheck) {
System.out.println("잘못 입력하셨습니다. 프로그램을 종료합니다.");
return;
}
int result = 0;
if(op == '+') {
result = num1 + num2;
} else if(op == '-') {
result = num1 - num2;
} else if(op == '*') {
result = num1 * num2;
} else if(op == '/') {
result = num1 / num2;
}
System.out.printf("%d %c %d = %d\n", num1, op, num2, result);
}
@콘솔출력값
> 정수 두 개를 입력하세요 : 10 20
> 연산자를 입력하세요(+,-,*,/) : -
10 - 20 = -10
@실습 문제5
1~10 사이의 정수 한개를 입력받아 홀수인지 짝수인지 확인하고, 홀수면 “홀수다.”, 짝수면 “짝수다.”출력 하세요.
단, 1~10사이의 정수가 아닌 경우 “ 반드시 1~10사이의 정수를 입력해야 합니다.”를 출력하세요.
public void test3() {
Scanner sc = new Scanner(System.in);
System.out.print("> 숫자를 입력하세요(1~10) : ");
int input = sc.nextInt();
if(input > 0 && input < 11) {
if(input % 2 == 0) {
System.out.println("짝수다.");
} else {
System.out.println("홀수다.");
}
} else {
System.out.println("반드시 1~10사이의 정수를 입력해야 합니다.");
}
}
@콘솔출력값
> 숫자를 입력하세요(1~10) : 6
짝수다.
@실습 문제6
키(cm)와 몸무게(kg)을 입력 받고,
BMI(체질량지수)를 계산하여 계산된 값에 따라
저체중(18.5미만), 정상체중(18.5이상 23미만), 과체중(23이상 25미만), 비만(25이상 30미만), 고도비만(30이상)을 출력하세요.
BMI 계산식 = 체중(kg) / (신장(m) * 신장(m) )
예) BMI = 67 / (1.7 * 1.7)
public void test4() {
Scanner sc = new Scanner(System.in);
System.out.print("> 키를 입력하세요 : ");
int height = sc.nextInt();
System.out.print("> 몸무게를 입력하세요 : ");
int weight = sc.nextInt();
double bmi = weight / ((height*0.01) * (height*0.01));
if(bmi < 18.5) {
System.out.println("저체중(18.5미만)");
} else if(bmi < 23) {
System.out.println("정상체중(18.5이상 23미만)");
} else if(bmi < 25) {
System.out.println("과체중(23이상 25미만)");
} else if(bmi < 30) {
System.out.println("비만(25이상 30미만)");
} else {
System.out.println("고도비만(30이상)");
}
}
@콘솔출력값
> 키를 입력하세요 : 160
> 몸무게를 입력하세요 : 80
고도비만(30이상)
'Java > └ [JAVA] Practice' 카테고리의 다른 글
[실습문제] 반복문, 분기문 (0) | 2022.04.11 |
---|---|
[실습문제] switch, for문 (0) | 2022.03.15 |
[실습문제] 연산자 (0) | 2022.03.10 |
[실습문제] printf, Scanner (0) | 2022.03.01 |
[실습 문제] 자바 기초, 변수 (0) | 2022.02.26 |