반응형
사칙연산 문제와 답을 랜덤으로 생성하는 걸 만들었다.
핵심은 이항인데, 뺄셈이나 나눗셈의 정답이 원하지 않는 범위 (음수거나 소수)가 나올 경우에 대비해서다.
public ArrayList<String> getCalculProblem() {
ArrayList<String> result = new ArrayList<String>();
//사칙연산 중 하나 선택
//가 = 1, 감 = 2, 승 = 3, 제 = 4
int opt = (int) (Math.random() * 4) + 1;
//문제에 등장하는 숫자
int problem_1 = 0, problem_2 = 0, solution = 0;
String opt_str = "", problem_str = "";
if(opt == 1) {
opt_str = "+";
problem_1 = getNumber(2);
problem_2 = getNumber(2);
solution = problem_1 + problem_2;
} else if(opt ==2) {
opt_str = "-";
problem_2 = getNumber(2);
solution = getNumber(2);
problem_1 = solution + problem_2;
} else if (opt == 3) {
opt_str = "×";
problem_1 = getNumber(1);
problem_2 = getNumber(1);
solution = problem_1 * problem_2;
} else if (opt == 4) {
opt_str = "÷";
problem_2 = getNumber(2);
solution = getNumber(1);
problem_1 = solution * problem_2;
}
//문제 (식) 만들기
problem_str = String.valueOf(problem_1) + " " + opt_str + " " + String.valueOf(problem_2) + " = ";
SOLUTION_NUMBER = solution;
/*
결과 제출
[0] = 식
[1] = 답
*/
result.add(0, problem_str);
result.add(1, String.valueOf(solution));
return result;
}
여기서 자리수에 맞춰 숫자를 랜덤하게 만드는 getNumber함수도 있다.
//자리수에 맞춰 숫자 랜덤생성
public Integer getNumber (int jarissu) {
int range = 0;
if(jarissu == 1) {
range = 10;
} else if (jarissu == 2) {
range = 100;
}
return (int) (Math.random() * range) + 1;
}
반응형
'PHP' 카테고리의 다른 글
[android] "다른 프로세스가 파일을 사용 중 ~~" 에러메세지 해결 (0) | 2024.11.27 |
---|---|
[안드로이드 스튜디오] Toast팝업 커스터마이징 하기 (0) | 2024.11.03 |
activity를 1번만 notify 시키게 하기 (3) | 2024.10.30 |
remove actionBar, navigationBar programmatically (0) | 2024.10.30 |
[Material-Calendar 응용] 특정한 날짜들에 스타일 적용시켜주기 (DayViewDecorator응용) (0) | 2024.10.23 |