/ TRAINING

calculator 1

실습

박재성님의 자바 플레이그라운드 - 3


0. 목차



1. 사칙연산 - printf

2. 사칙연산 - 값 2개 입력받기

3. 사칙연산 - 연산기호 입력받기

4. 사칙연산 - 종료 시 최종값 출력



1. 사칙연산 - printf


▶ 사칙연산

▷ printf

public class Calculator {

	public static void main(String[] args) {
		
		System.out.printf("더하기 : %d\n", 2 + 1);
		System.out.printf("빼기 : %d\n", 2 - 1);
		System.out.printf("곱하기 : %d\n", 2 * 1);
		System.out.printf("나누기 : %d\n", 2 / 1);
	}
}
더하기 : 3
빼기 : 1
곱하기 : 2
나누기 : 2



2. 사칙연산 - 값 2개 입력받기


▶ 사칙연산

▷ 값 입력 scanner - nextInt

import java.util.Scanner;

public class Calculator {

	public static void main(String[] args) {

		Scanner scan = new Scanner(System.in);
		
		System.out.printf("두 수를 입력하세요.\n\n");
		
		System.out.println("첫번째 입력 값을 입력하세요.");
		System.out.print("FIRST NUM> ");
		int numOne = scan.nextInt();
		System.out.println();
		
		System.out.println("두번째 입력 값을 입력하세요.");
		System.out.print("SECOND NUM> ");
		int numTwo = scan.nextInt();
		System.out.println();

		System.out.println("사칙연산 결과");
		System.out.printf("+ : %d + %d = %d\n", numOne, numTwo, numOne + numTwo);
		System.out.printf("- : %d - %d = %d\n", numOne, numTwo, numOne - numTwo);
		System.out.printf("× : %d × %d = %d\n", numOne, numTwo, numOne * numTwo);
		System.out.printf("÷ : %d ÷ %d = %d\n", numOne, numTwo, numOne / numTwo);

	}
}
 수를 입력하세요.

첫번째 입력 값을 입력하세요.
FIRST NUM> 3

두번째 입력 값을 입력하세요.
SECOND NUM> 4

사칙연산 결과
+ : 3 + 4 = 7
- : 3 - 4 = -1
× : 3 × 4 = 12
÷ : 3 ÷ 4 = 0



3. 사칙연산 - 연산기호 입력받기


▶ 사칙연산

▷ 연산기호 입력 scanner - nextInt

import java.util.Scanner;

public class Calculator {

	public static void main(String[] args) {

		Scanner scan = new Scanner(System.in);

		System.out.printf("두 수를 입력하세요.\n\n");

		System.out.println("첫번째 입력 값을 입력하세요.");
		System.out.print("FIRST NUM> ");
		int numOne = scan.nextInt();
		System.out.println();

		System.out.println("두번째 입력 값을 입력하세요.");
		System.out.print("SECOND NUM> ");
		int numTwo = scan.nextInt();
		System.out.println();

		System.out.println("연산기호를 입력하세요.(+, -, *, /)");
		System.out.print("CAL> ");
		String cal = scan.next();
		System.out.println();

		if (cal.equals("+")) {
			System.out.printf("+ : %d + %d = %d\n", numOne, numTwo, numOne + numTwo);
		}
		else if (cal.equals("-")) {
			System.out.printf("- : %d - %d = %d\n", numOne, numTwo, numOne - numTwo);
		}
		else if (cal.equals("*")) {
			System.out.printf("× : %d × %d = %d\n", numOne, numTwo, numOne * numTwo);
		}
		else if (cal.equals("/")) {
			System.out.printf("÷ : %d ÷ %d = %d\n", numOne, numTwo, numOne / numTwo);
		} else {
			System.err.println("사칙연산 기호가 아닙니다!");
		}
	}
}
 수를 입력하세요.

첫번째 입력 값을 입력하세요.
FIRST NUM> 4

두번째 입력 값을 입력하세요.
SECOND NUM> 5

연산기호를 입력하세요.(+, -, *, /)
CAL> *

× : 4 × 5 = 20



4. 사칙연산 - 종료 시 최종값 출력


▶ 사칙연산

▷ 종료조건, 변수

import java.util.Scanner;

public class Calculator {

	public static void main(String[] args) {

		Scanner scan = new Scanner(System.in);

		System.out.println("값을 입력하세요.");
		System.out.print("NUM> ");
		int numOne = scan.nextInt();
		System.out.println();

		int result = numOne;

		while (true) {

			System.out.println("연산기호를 입력하세요.(+, -, *, /, q=종료)");
			System.out.print("SYMBOL> ");
			String symbol = scan.next();
			System.out.println();
			
			if (symbol.equals("q")) {
				System.out.printf("최종 값 = %d\n", result);
				break;
			}

			System.out.println("값을 입력하세요.");
			System.out.print("NUM> ");
			int num = scan.nextInt();
			System.out.println();

			if (symbol.equals("+")) {
				System.out.printf("%d + %d = ", result, num);
				result = result + num;
				System.out.println(result);
				System.out.println();
			} else if (symbol.equals("-")) {
				System.out.printf("%d - %d = ", result, num);
				result = result - num;
				System.out.println(result);
				System.out.println();
			} else if (symbol.equals("*")) {
				System.out.printf("%d × %d = ", result, num);
				result = result * num;
				System.out.println(result);
				System.out.println();
			} else if (symbol.equals("/")) {
				System.out.printf("%d ÷ %d = ", result, num);
				result = result / num;
				System.out.println(result);
				System.out.println();
			} else {
				System.err.println("사칙연산 기호가 아닙니다!");
				System.out.println();
			}
		}
		
		System.out.println("종료");
		scan.close();
	}
}
값을 입력하세요.
NUM> 3

연산기호를 입력하세요.(+, -, *, /, q=종료)
SYMBOL> -

값을 입력하세요.
NUM> 2

3 - 2 = 1

연산기호를 입력하세요.(+, -, *, /, q=종료)
SYMBOL> q

최종  = 1
종료