우당탕탕 개발일지
4일차_과제 본문
반응형
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();
}
반응형