본문 바로가기
Java/└ [JAVA] Practice

[실습문제] 난수, 조건문

by 박채니 2022. 3. 10.

안녕하세요, 코린이의 코딩 학습기 채니 입니다.

 

난수, 조건문에 대해서 간단한 실습 문제들을 풀어보았습니다.

 

개인 포스팅용으로 내용에 오류 및 잘못된 정보가 있을 수 있습니다.


@실습 문제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