import java.util.*;

public class Calculator {
	public static void main(String[] args) {
		Scanner scn = new Scanner(System.in);
		
		String str1, str2; // 문자열 첫번째 수, 두번째 수
		int num1, num2; // 정수형 첫번째 수, 두번째 수 
		String oper; // 연산자
		
		// 첫번째수
		while(true) {
			System.out.print("첫번째 수 > ");
			str1 = scn.nextLine();
			// 공백확인
			if(str1.equals("")== true) {
				System.out.println("숫자만 입력가능(공백x)");
				continue;
			}
			boolean flag = true;
			for (int i = 0; i < str1.length(); i++) {
				char c = str1.charAt(i);
				if(c < '0' || c > '9') { // 문자열 확인
					flag = false;
					break;
				}
			}
			if(flag == true) {
				break;
			}
			System.out.println("숫자만 입력가능(문자x)");
		}
		// 연산자
		while(true) {
			System.out.print("연산기호 입력 (+, -, *, /) >>");
			oper = scn.nextLine();
			if(oper.equals("+") || oper.equals("-") || oper.equals("*") || oper.equals("/")) {
				break;				
			} else { 		// 연산기호가 다른문자가 입력이 되었는지? -> 다시 입력

				continue;
			}
		}	
		// 두번째 수
		while(true) {
			System.out.print("두번째 수 > ");
			str2 = scn.nextLine();
			// 공백확인
			if(str2.equals("") == true) {
				System.out.println("숫자만 입력가능(공백x)");
				continue;
			}
			if(oper.equals("/")) {
				if(str2.equals("0")) { // 연산자 '/' -> 0 다시입력
					System.out.println("0으로는 연산불가!");
					continue;
				}
			}
			boolean flag = true;
			for (int i = 0; i < str2.length(); i++) {
				char c = str2.charAt(i);
				if(c < '0' || c > '9') { // 문자열 확인
					flag = false;
					break;
				}
			}
			if(flag == true) {
				break;
			}
			System.out.println("숫자만 입력가능(문자x)");
		}
		num1 = Integer.parseInt(str1);
		num2 = Integer.parseInt(str2);
		// 결과출력
		switch(oper) {
		case "+" :
			System.out.println(num1+oper+num2+"="+(num1+num2));
        		break;
		case "-" :
			System.out.println(num1+oper+num2+"="+(num1-num2));
            		break;
		case "*" :
			System.out.println(num1+oper+num2+"="+(num1*num2));
            		break;
		case "/" :
			System.out.println(num1+oper+num2+"="+(num1/num2));
            		break;
		}
	}
}

 

'문제풀이 > Java' 카테고리의 다른 글

[자바] 남은 동전 구하기  (0) 2021.05.12
[자바] (업그레이드) 계산기  (0) 2021.05.12
[자바] 가위바위보 게임  (0) 2021.05.11
[자바] 배열 순차 정렬  (0) 2021.05.11
[자바] 로또 번호 생성  (0) 2021.05.10

+ Recent posts