211102

211102

package practice.arithmeticoperation;

import java.util. Scanner ;

public class ArithmeticGame {

Scanner sc = new Scanner ( System . in );

public void method1() {

System . out . println ( "즐겁게 문제를 푸시다가 지겨우면 0을 누르세요~" );

System . out . println ( "# 엔터를 누르면 시작합니다." );

System . out . println ( "==============================

" );

String enter = sc.nextLine();

while ( true ) {

if (enter. equals ( "0" )){

System . out . println ( "종료합니다." );

return ;}

else { System . out . print ( "#난이도를 입력하세요! [상, 중, 하]

>>" );

String level = sc.next();

switch (level) {

case "상" : high(); return ; //완벽한 프로그램 종료를 위해 break;가 아닌 return;문을 써준다.

case "중" : middle(); return ;

case "하" : low(); return ;

default : System . out . println ( "저세상 난이도를 고르셨습니다. 다시 입력 ㄱㄱ

" );

break ; // 스위치문만 빠져나가고 다시 와일문 가동

} // 스위치문 끝

} /*이프문 끝*/

} /*와일문 끝*/

}

public void high() {

System . out . println ( "상급 난이도입니다. 1 ~ 1000 범위로 출제됩니다.

" );

int [] rightWrong = { 0 , 0 }; // 정답, 오답카운트셀 배열

int i = 0 ; //퀴즈앞 넘버

while ( true ) {

String [] ope = { "+" , "-" , "*" , "/" }; //연산자 선언

int j = ( int )(Math.random() * 4 ); // 연산자 인덱스 랜덤으로 받기

int num1 = ( int )(Math.random() * 1000 ) + 1 ; // 첫번째 정수 랜덤으로 받기

int num2 = ( int )(Math.random() * 1000 ) + 1 ; // 두번째 정수 랜덤으로 받기

int [] result = {(num1 + num2), (num1 - num2), (num1 * num2), ( int )(num1 / num2)}; //사칙연산에 따른 결과값 나누기 몫 0. 소수점 나오면 그냥 0으로 치게 int형으로 바꿈

System . out . print ( "Q" + i + ")" + num1 + ope[j] + num2 + "=" + "?

>> " );

int user = sc.nextInt();

if ((user = = result[j])) {

System . out . println ( "#정답입니다!

" );

rightWrong[ 0 ] + = 1 ;

i + + ; //퀴즈넘버 카운트

} else if (user ! = result[j] & & user ! = 0 ) {

System . out . println ( "오답인디요..

" );

rightWrong[ 1 ] + = 1 ;

i + + ; //퀴즈 넘버 카운트

} else if (user = = 0 ) {

System . out . println ( "============================" );

System . out . println ( "# 정답 횟수: " + rightWrong[ 0 ] + "회," + "오답 횟수: " + rightWrong[ 1 ]);

break ; //와일문 탈출

} /*이프 엘스문 끝*/

} //와일문 끝

} // high()메소드 끝

public void middle() {

System . out . println ( "중급 난이도입니다. 1 ~ 100 범위로 출제됩니다.

" );

int [] rightWrong = { 0 , 0 }; // 정답, 오답카운트하는 배열

int i = 0 ; //퀴즈앞 넘버

while ( true ) {

String [] ope = { "+" , "-" , "*" , "/" }; //연산자 선언

int j = ( int )(Math.random() * 4 ); // 연산자 인덱스 랜덤으로 받기

int num1 = ( int )(Math.random() * 100 ) + 1 ; // 첫번째 정수 랜덤으로 받기

int num2 = ( int )(Math.random() * 100 ) + 1 ; // 두번째 정수 랜덤으로 받기

int [] result = {(num1 + num2), (num1 - num2), (num1 * num2), ( int )(num1 / num2)}; //사칙연산에 따른 결과값 나누기 몫 0. 소수점 나오면 그냥 0으로 치게 int형으로 바꿈

System . out . print ( "Q" + i + ")" + num1 + ope[j] + num2 + "=" + "?

>> " );

int user = sc.nextInt();

if ((user = = result[j])) {

System . out . println ( "#정답입니다!

" );

rightWrong[ 0 ] + = 1 ;

i + + ; //퀴즈넘버 카운트

} else if (user ! = result[j] & & user ! = 0 ) {

System . out . println ( "오답인디요..

" );

rightWrong[ 1 ] + = 1 ;

i + + ; //퀴즈 넘버 카운트

} else if (user = = 0 ) {

System . out . println ( "============================" );

System . out . println ( "# 정답 횟수: " + rightWrong[ 0 ] + "회," + "오답 횟수: " + rightWrong[ 1 ]);

break ; //와일문탈출

} /*이프 엘스문 끝*/

} //와일문 끝

} // middle()메소드 끝

public void low() {

System . out . println ( "하급 난이도입니다. 1 ~ 20 범위로 출제됩니다.

" );

int [] rightWrong = { 0 , 0 }; // 정답, 오답카운트 하는 배열

int i = 0 ; //퀴즈앞 넘버

while ( true ) {

String [] ope = { "+" , "-" , "*" , "/" }; //연산자 선언

int j = ( int )(Math.random() * 4 ); // 연산자 인덱스 랜덤으로 받기

int num1 = ( int )(Math.random() * 20 ) + 1 ; // 첫번째 정수 랜덤으로 받기

int num2 = ( int )(Math.random() * 20 ) + 1 ; // 두번째 정수 랜덤으로 받기

int [] result = {(num1 + num2), (num1 - num2), (num1 * num2), ( int )(num1 / num2)}; //사칙연산에 따른 결과값 나누기 몫 0. 소수점 나오면 그냥 0으로 치게 int형으로 바꿈

System . out . print ( "Q" + i + ")" + num1 + ope[j] + num2 + "=" + "?

>>" );

int user = sc.nextInt();

if ((user = = result[j])) {

System . out . println ( "#정답입니다!

" );

rightWrong[ 0 ] + = 1 ;

i + + ; //퀴즈넘버 카운트

} else if (user ! = result[j] & & user ! = 0 ) {

System . out . println ( "오답인디요..

" );

rightWrong[ 1 ] + = 1 ;

i + + ; //퀴즈 넘버 카운트

} else if (user = = 0 ) {

System . out . println ( "============================" );

System . out . println ( "# 정답 횟수: " + rightWrong[ 0 ] + "회," + "오답 횟수: " + rightWrong[ 1 ]);

break ; //브레이크문 탈출

} /*이프 엘스문 끝*/

} //와일문 끝

from http://jjorong-e.tistory.com/50 by ccl(A) rewrite - 2021-11-04 01:01:57