도라에몽주머니

[Java/Eclipse] Java 12일차 본문

Study/Java

[Java/Eclipse] Java 12일차

에몽쓰 2022. 9. 29. 16:57

Java

 

예제

while문을 이용해서 아래와 같이 메뉴를 출력해 보세요.

 

Class name: Prac9.java

 

<실행 결과>

**********
1. 입력
2. 검색
3. 삭제
4. 종료
**********

번호 선택 : 1

 

입력을 선택하였습니다.

 

**********
1. 입력
2. 검색
3. 삭제
4. 종료
**********

번호 선택 : 4

 

프로그램을 종료합니다.

import java.util.Scanner;

public class Prac9 {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		
		
		while(true) {
			System.out.println("**********");
			System.out.println("1. 입력");
			System.out.println("2. 검색");
			System.out.println("3. 삭제");
			System.out.println("4. 종료");
			System.out.println("**********");
			System.out.print("번호 선택 : ");
			int num = sc.nextInt();
			System.out.println();
			
			switch(num) {
			case 1: System.out.println("입력을 선택하였습니다.\n");
					break;
			case 2: System.out.println("검색을 선택하였습니다.\n");
					break;
			case 3: System.out.println("삭제를 선택하였습니다.\n");
					break;
			case 4: System.out.println("프로그램을 종료합니다.");
					System.exit(0); // 프로그램 강제 종료 명령어
			default: System.out.println("번호는 1~4 사이로 선택하세요");
			}
			
		}
	}
}

* switch문에서 프로그램 강제종료하는 명령어 알아두기.

 

난수(Random Number)

: 정의된 범위 내에서 무작위로 추출된 수.

 

  • Java 난수 코드

: Math.random( );

  • random 함수

: 0 <= 실수 < 1 범위에 해당되는 임의의 실수 1개를 만드는 명령어 (→ 정수로 만드는 과정 필요)

  • 예제
public class Ref1 {
	public static void main(String[] args) {
		// 0 <= 실수 < 1 사이의 임의의 실수 1개
		double rand = Math.random();
		System.out.println(rand);
		
		// 10~99 사이의 임의의 정수 1개 만들기
		int min = 10;
		int max = 99;
		int result = (int)(rand*(max - min + 1) + min);
		System.out.println(result);
		
		
		// 10~99 사이의 임의의 정수 2개 만들기
		int num1 = (int)(Math.random()*(max - min + 1) + min);
		int num2 = (int)(Math.random()*(max - min + 1) + min);
		System.out.println(num1 + " " + num2);
	}
}

 

예제

10~99 사이의 난수를 2개 발생하여 합을 맞추는 게임 작성

- 문제수는 총 5문제를 제공한다
- 1문제당 점수 20점씩
- 만약 틀리면 기회를 1번 더 제공한다 

Class Name : Prac10.java 

<실행 결과>
[1] 25 + 36 = 45
틀렷따..
[1] 25 + 36 = 61
딩동뎅 

[2] 45 + 56 = 101
딩동뎅
...... 

[5] 10 + 67 = 89
틀렷따..
[5] 10 + 67 = 78
틀렷따.. 정답 : xx
 
당신은 총 2문제를 맞추어서 40점 입니다
continue(y/n) : n
프로그램을 종료합니다

 

import java.util.Scanner;

public class Prac10 {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		int min = 10;
		int max = 99;
		int score = 0;
		int count = 0;
		
		while(true) {
			for(int i=1; i<=5; i++) {
				int num1 = (int)(Math.random()*(max - min + 1) + min);
				int num2 = (int)(Math.random()*(max - min + 1) + min);
				
				System.out.printf("[%d] %d + %d = ", i, num1, num2);
				int result = sc.nextInt();
				
				if(result == num1+num2) {
					System.out.println("딩동뎅");
					score += 20;
					count++;
				}
				else {
					System.out.println("틀렷따..");
					System.out.printf("[%d] %d + %d = ", i, num1, num2);
					result = sc.nextInt();

					if(result == num1 + num2) {
						System.out.println("딩동뎅");
						score += 20;
						count++;
					} else System.out.println("틀렷따.. 정답 : " + (num1+num2));
				}
			}
			
			System.out.println();
			System.out.printf("당신은 총 %d문제를 맞추어서 %d점 입니다\n", count, score);
			System.out.print("continue(y/n) : ");
			String yn = sc.next();
			if(yn.equals("n")) {
				System.out.println("프로그램을 종료합니다");
				break;
			} else continue;
		}
	}
}

 

 

배열(Array)

: 자료형이 같은 변수들의 집합

/* 배열 생성 방법 */
// 방법 1
int[] a;
a = new int[3];
a[0] = 75;
a[1] = 82;
a[2] = 95;

// 방법 2
int[] b = new int[3];
b[0] = 88;
b[1] = 64;
b[2] = 70;
		
// 방법 3
int[] c = {100, 95, 90};

'Study > Java' 카테고리의 다른 글

[Java/Eclipse] Java 14일차  (1) 2022.10.04
[Java/Eclipse] Java 13일차  (0) 2022.09.30
[Java/Eclipse] Java 11일차  (0) 2022.09.28
[Java/Eclipse] Java 10일차  (0) 2022.09.27
[Java/Eclipse] Java 9일차  (0) 2022.09.26