본문 바로가기
JAVA

분기문 연습 (6) - 연산자를 이용한 계산 프로그램

by 선우진우 2024. 1. 18.
728x90
반응형

 

public void practice6() {

							// while 
		/* switch문으로 작성 					// if문
		연산자(+, -, *, /, %) : +
		정수1 : 10
		정수2 : 4
		10 + 4 = 14
		
		연산자(+, -, *, /, %) : / 			연산자(+, -, *, /, %) : /
		정수1 : 10 							정수1 : 10
		정수2 : 4 							정수2 : 0
											10 / 4 = 2 0으로 나눌 수 없습니다. 다시 입력해주세요.
		
		연산자(+, -, *, /, %) : ^ 			연산자(+, -, *, /, %) : exit
		정수1 : 10 							프로그램을 종료합니다.
		정수2 : 4
		없는 연산자입니다. 다시 입력해주세요.
		*/
		
		Scanner sc = new Scanner(System.in);
		String op = null; // 재사용 하기 위함
		int num1 = 0; // 재사용 하기 위함
		int num2 = 0; // 재사용 하기 위함
		
		while(true) {
			System.out.print("연산자 : ");
			op = sc.nextLine();
			
			if(op.equals("exit")) { // exit가 입력 된 경우
				System.out.println("프로그램을 종료 합니다.");
				
				break; // while 종료 시키기
			} // end if
			
			System.out.print("정수 1: ");
			num1 = sc.nextInt();
			
			System.out.print("정수 2: ");
			num2 = sc.nextInt();
			
			sc.nextLine(); // 버퍼에 남아 있는 개행 문자('\n')를 제거 하기 위함.
			
			if(op.equals("/") && num2 == 0) { // 0으로 나누는 경우
				System.out.println("0으로 나눌 수 없습니다. 다시 입력 해주세요.");
				
				continue; // 다시 while문으로 돌아감
			} // end if
			
			
			int result = 0; // switch 결과 값 저장 할 변수 
			switch(op) {
			case "+" : result = num1 + num2; break; 
			case "-" : result = num1 - num2; break; 
			case "*" : result = num1 * num2; break; 
			case "/" : result = num1 / num2; break; 
			case "%" : result = num1 % num2; break; 
			default : System.out.println("없는 연산자 입니다. 다시 입력 해주세요.");
					  continue; // default 확인 후 아래 print출력하지 않고 다시 while문으로 ~ 
					
			} // end switch
			
				System.out.println(num1 +" "+ op +" "+ num2 + " = " + result);			
		} // end while 
	
	}
 
 

 

 

728x90
반응형