우당탕탕 개발일지

4일차_과제 본문

비트캠프/과제

4일차_과제

ujin302 2024. 7. 9. 09:35
반응형

1. 덧셈 계산(or, while, 다중 for) 

1. 문제

10 ~ 99 사이의 난수를 2개 발생하여 합을 구하는 프로그램
 5문제 제공
1문제당 점수 20점씩 처리
틀리면 1번 더 기회를 주고 2번 다 틀리면 답을 알려준다. 
Y 또는 N은 대소문자 상관없이 반복해서 질문합니다. 
"또 할래" Y나 N이 안 들어오면 무한반복
  
[실행결과]
[1] 25 + 36 = 50
틀렸다.
[1] 25 + 36 = 59
틀렸다. 정답은 xx
 
[2] 10 + 25 = 35
딩동댕

.

.


[5] 78 + 95 = 89
틀렸다
[5] 78 + 95 = 173
딩동댕
 
당신은 총 x문제를 맞추어서 점수 xx점입니다. 
 
또 할래(Y/N) : A 
또 할래(Y/N) : W
또 할래(Y/N) : n
 
프로그램을 종료합니다. 

2. 코드

package for_;

import java.util.Scanner;

public class AddGame {

	public static void main(String[] args) {
		int a, b; // 난수 2개 
		int dab; // 입력값 
		int count = 0; // 정답 개수 
		String yn; // 재시도 여부 
		
		Scanner sc = new Scanner(System.in);
		
		while(true) {
			for(int i=0; i<5; i++) { // 문제 5개 
				
				a = (int)(Math.random()*90 + 10);
				b = (int)(Math.random()*90 + 10);
				
				for(int j=0; j<2; j++) {
					System.out.print("[" + (i+1) + "] "+ a + " + " + b + " = ");
					dab = sc.nextInt();
					
					// 정답 확인 
					if(dab == (a+b)) {
						System.out.println("딩동댕\n");
						count++;
						break;
					}else {
						String str = "";
						str = "틀렸다. ";
						if(j == 1) {
							str += "정답은 " + (a+b) + "\n";
						}
						System.out.println(str);
					}
				}
			}
			
			System.out.println("당신은 총 " + count + "문제를 맞추어서 점수 " + count*20 + "점입니다.");
			while(true) {
				System.out.print("또 할래(Y/N) : ");
				yn = sc.next(); 
				// y 혹은 n 입력하였는지 확인 
				if(yn.toUpperCase().equals("Y") || yn.toUpperCase().equals("N")) {
					break;
				}
			}
			// N 이라고 대답했을 경우, 종료 
			if(yn.toUpperCase().equals("N")) {
				System.out.println("프로그램을 종료합니다.");
				break;
			}
		}
	}
}

 

 

2. 3중 배열 구구단

1. 문제

아래와 같은 형태로 구구단을 출력하여라

2 * 1 = 2 3 * 1 = 3 4 * 1 = 4
2 * 2 = 4 3 * 2 = 6 4 * 2 = 8
2 * 3 = 6 3 * 3 = 9 4 * 3 = 12
2 * 4 = 8 3 * 4 = 12 4 * 4 = 16
2 * 5 = 10 3 * 5 = 15 4 * 5 = 20
2 * 6 = 12 3 * 6 = 18 4 * 6 = 24
2 * 7 = 14 3 * 7 = 21 4 * 7 = 28
2 * 8 = 16 3 * 8 = 24 4 * 8 = 32
2 * 9 = 18 3 * 9 = 27 4 * 9 = 36

5 * 1 = 5 6 * 1 = 6 7 * 1 = 7
5 * 2 = 10 6 * 2 = 12 7 * 2 = 14
5 * 3 = 15 6 * 3 = 18 7 * 3 = 21
5 * 4 = 20 6 * 4 = 24 7 * 4 = 28
5 * 5 = 25 6 * 5 = 30 7 * 5 = 35
5 * 6 = 30 6 * 6 = 36 7 * 6 = 42
5 * 7 = 35 6 * 7 = 42 7 * 7 = 49
5 * 8 = 40 6 * 8 = 48 7 * 8 = 56
5 * 9 = 45 6 * 9 = 54 7 * 9 = 63

8 * 1 = 8 9 * 1 = 9
8 * 2 = 16 9 * 2 = 18
8 * 3 = 24 9 * 3 = 27
8 * 4 = 32 9 * 4 = 36
8 * 5 = 40 9 * 5 = 45
8 * 6 = 48 9 * 6 = 54
8 * 7 = 56 9 * 7 = 63
8 * 8 = 64 9 * 8 = 72
8 * 9 = 72 9 * 9 = 81

 

2. 코드

package multiFor;

public class MultiFor04 {

	public static void main(String[] args) {
		int k = 2;
		
		for(int dan=1; dan<4; dan++) {
			for(int i=1; i<10; i++) {
				for(int j=k; j<k+3; j++) {
					if(j < 10) {
						System.out.print(j + " * " + i + " = " + j*i + "\t");
					}
				}
				System.out.println();
				
			}
			System.out.println();
			k+=3;
		}
	}
}

 

3. 강사님 코드

		for(int w=2; w<9; w+=3) {
			for(int i=1; i<10; i++) {
				for(int dan=w; dan<w+3; dan++) {
					if(dan != 10) {
						System.out.print(dan + " * " + i + " = " + dan*i + "\t");
					}
				}
				System.out.println();
			}
			System.out.println();
		}
반응형

'비트캠프 > 과제' 카테고리의 다른 글

10일차_과제  (0) 2024.07.16
9일차_과제  (0) 2024.07.16
7일차_과제  (0) 2024.07.12
6일차_과제  (0) 2024.07.10
5일차_과제  (0) 2024.07.09