본문 바로가기

프로그래밍/Java TestProject

Java_계산기 만들기

/* 
1. 계산기 만들기.
ex)
숫자 입력 : 2
연산 입력: + ( /, *, -, %)
숫자 입력 : 3
5
*/

import java.util.Scanner;
public class TestProject_14 {

	public static void main(String[] args) {
		Scanner scn2 = new Scanner(System.in); //Scanner클래스의 객체를 생성

		int op1; //첫 번째 정수를 입력할 op1 선언 
		int op2; //두 번째 정수를 입력할 op2 선언
		String operator; //문자열 operator 선언

		while (true) { // true인 동안 {...} 안의 문장을 수행
			System.out.print("첫 번째 정수를 입력하세요 : ");
			op1 = scn2.nextInt(); // 첫번째 정수를 입력 받아서 op1에 저장
			System.out.print("연산자를 입력하세요. (+, -, *, /, %) : ");
			operator = scn2.next(); // 문자(열)를 입력받아서 operator에 저장
			System.out.print("두 번째 정수를 입력하세요 : ");
			op2 = scn2.nextInt(); // 두번째 정수를 입력 받아서 op2에 저장

			// 문자열을 비교하는 .equals()메서드를 사용하여 조건식의 문장이 참이면 {...} 을 수행
			if (operator.equals("+")) { 
				System.out.println(op1 + op2);
			} else if (operator.equals("-")) {
				System.out.println(op1 - op2);
			} else if (operator.equals("*")) {
				System.out.println(op1 * op2);
			} else if (operator.equals("/")) {
				System.out.println(op1 / op2);
			} else if (operator.equals("%")) {
				System.out.println(op1 % op2);
			}

			System.out.print("continue?");
			if (scn2.next().equals("no") == true) // 만약 scn2.next()에 no를 입력하면 
				break; // while문이 끝난다. 
		}
	}

}

=> 스캐너를 이용해 정수와 문자열을 변수에 저장하여 if 문으로 조건식을 만든 후 결과를 출력하도록 했습니다.

 

- 처음에 조건식을 만들 때 문자열을 비교하는 .equals()메서드가 아닌

등가비교연산자(==)를 사용해서 if문이 수행이 안 됐었습니다. 

문자열을 비교할 때는 등가비교연산자(==)가 아닌 .equals()메서드를 사용해야 합니다.

		if (operator=="+") {
			System.out.println(op1 + op2);
		} else if (operator=="-") {
			System.out.println(op1 - op2);
		} else if (operator=="*") {
			System.out.println(op1 * op2);
		} else if (operator=="/")) {
			System.out.println(op1 / op2);
		} else if (operator=="%")) {
			System.out.println(op1 % op2);
		}