JAVA_OOP로 만든 calculator

박예린·2022년 12월 27일
0

Java

목록 보기
19/23

절차지향 calculator 프로그램을 객체지향프로그래밍으로 만들었다.

절차지향_calculator 코드

public static void main(String[] args) {
			
			Scanner sc = new Scanner(System.in);
			
			// calculator(계산기)
			int number1, number2, result = 0;
			String operator;
			
			while(true) {
			
				// 1. 숫자입력
				System.out.print("첫번째 숫자 >> ");
				number1 = sc.nextInt();
				
				// 2. 연산기호(+,-,*,/)
				System.out.print("연산자(+, -, *, /) >> ");
				operator = sc.next();
				
				// 3. 숫자입력
				System.out.print("두번째 숫자 >> ");
				number2 = sc.nextInt();
				
				// 4. 연산
				if(operator.equals("+")) {
					result = number1 + number2;
				}
				else if(operator.equals("-")) {
					result = number1 - number2;
				}
				else if(operator.equals("*")) {
					result = number1 * number2;
				}
				else if(operator.equals("/")) {
					result = number1 / number2;
				}
						
				// 5. 결과출력
				System.out.println(number1 + " " + operator + " " + number2 + " = " + result);
				
				// 6. replay 
				System.out.print("다시 시작하시겠습니까?(y/n) = ");
				String replay = sc.next();
				
				if(replay.equals("y")) {
					System.out.println("다시 시작합니다");
				}else {
					break;
				}
				
			}
					
		}

객체지향_calculator 코드

public class Calculator {
	//멤버변수 -> 자동으로 초기화 됨
	int number1 = 0; //첫번째로 입력받을 변수
	int number2 = 0; //두번째로 입력받을 변수
	int result = 0; //계산된 결과
	String operator = null; //연산기호
	
	//함수 이름 : input
	//목적 : user input(숫자, 연산기호)
	public void input() {
		Scanner sc = new Scanner(System.in);
		
		System.out.print("첫번째 숫자");
		number1 = sc.nextInt();
		
		System.out.println("연산자(+, -, *, /) =");
		operator = sc.next();
		
		System.out.print("두번째 숫자");
		number2 = sc.nextInt();
	}
	
	//함수 이름 : process
	//목적 : 연산기호(+ - * /) case문
	public void process() {
		switch(operator) {
		case "+":
			result = number1 + number2;
			break;
		case "-":
			result = number1 - number2;
			break;
		case "*":
			result = number1 * number2;
			break;
		case "/":
			result = number1 / number2;
			break;
		}
		
	}
	//함수이름 : result
	//목적 : 결과 출력
	public void result() {
		System.out.println(number1 + " " + operator + " " + number2 + " = " + result);
	}
	
	//함수 이름 : loop
	//목적 : 위 함수들 모음 -> mainclass에 간결히 쓸 수 있음
	public void loop() {
		input();
		process();
		result();
	}

}


//main class
import cal.Calculator; //module

public class MainClass {

	public static void main(String[] args) {
		//인스턴스 -> cal
		Calculator  cal = new Calculator();
		
		/*
		cal.input();
		cal.process();
		cal.result();
		*/
		
		cal.loop();
	}

}
profile
개발자를 꿈꾸는 귀여운 나

0개의 댓글