본문 바로가기
JAVA

조건문 연습 (8) - if-switch 이용 연산 하기

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

 

public void practice8() {
			
			/* 키보드로 두 개의 정수와 연산 기호를 입력 받아 연산 기호에 맞춰 연산 결과를 출력하세요.
				(단, 두 개의 정수 모두 양수일 때만 작동하며 없는 연산 기호를 입력 했을 시
				“잘못 입력하셨습니다. 프로그램을 종료합니다.” 출력)
				ex.
				피연산자1 입력 : 15
				피연산자2 입력 : 4
				연산자를 입력(+,-,*,/,%) : /
				15 / 4 = 3.750000                    */
		
			Scanner sc = new Scanner(System.in);
			System.out.print("피연산자1 : ");
			int num1 = sc.nextInt();
			System.out.print("피연산자2 : ");
			int num2 = sc.nextInt();
			
			sc.nextLine();
			System.out.print("연산자를 입력(+,-,*,/,%) : ");
			String op = sc.nextLine();
			
			if(num1 > 0 && num2 > 0) { // 두 수가 모두 양수인 경우
				
				double result = 0; // 연산 결과를 저장할 변수
				boolean check = true; // 올바른 연산자인지 판단할 변수
				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("잘못 입력 하셨습니다. 프로그램을 종료 합니다.");
				
					check = false;
				}
				
				if(check) {
					System.out.println(num1 + " " + op + " " + num2 + " = " + result);
				}
				
			}else {
				System.out.println("입력값에 음수가 있습니다.");
				
				
			
			/*	
			double result = 0;
			
			if(num1 >= 0 && num2 >= 0) {
				if("+".equals(op)) {
					result = (double)num1 + (double)num2; 
				 
				}else if("-".equals(op)) {
					result = (double)num1 - (double)num2;
				
				}else if("*".equals(op)) {
					result = (double)num1 * (double)num2;
				
				}else if("/".equals(op)) {
					result = (double)num1 / (double)num2;
				
				}else if("%".equals(op)) {
					result = (double)num1 % (double)num2;
				
				}else if("+, -, *, /, %" != op) {
					System.out.println("잘못 입력 하셨습니다. 프로그램을 종료 합니다");
				}
					
				System.out.println(num1 + " " + op + " " + num2 + " = " + result);
			*/
		}
			
	}


		
 
 

 

728x90
반응형