본문 바로가기

JAVA

JAVA 플레이 그라운드 - 2.계산기 (작성중)

요구사항

  • 사용자가 입력한 값에 따라 사칙연산을 계산할 수 있는 계산기를 구현한다.
    • 예를 들어 "2 + 3 * 4 / 2"와 같은 순서로 값을 입력하는 경우 실행 결과 값인 10을 출력해야 한다.
  • 사용자가 입력할 수 있는 값의 수는 제한되어 있지 않다.
  • 나눗셈의 결과 값은 정수로 값이 떨어지지 않더라도 정수 값만 사용하는 것으로 한다.

1단계>>

학습 목표

  • 사용자가 값을 입력하는 경험을 한다.
  • 프로그래밍에서 변수를 사용하는 경험을 한다.

요구사항

  • 사용자로부터 2개의 숫자 값을 입력 받은 후 2개의 숫자 값을 활용해 사칙연산을 계산한다.
  • 계산한 결과 값을 화면에 출력한다.

2단계>>

학습 목표

  • 프로그래밍의 조건문을 경험한다.

요구사항

  • 사용자에게 2개의 숫자 값과 사칙연산 기호(+, -, *, /) 중 하나를 입력 받는다.
  • 사용자가 입력한 사칙연산 기호에 따라 사칙연산을 계산한 후 결과를 출력한다.
  • 예를 들어 사용자는 값 2와 4 입력하고 곱셈(*) 기호를 입력하면 2 * 4의 결과인 8을 출력해야 한다.

힌트

  • 사칙연산 기호가 무엇인지에 따라 사칙연산을 실행하고 결과를 출력한다. 숫자가 아닌 문자를 입력 받는 경우 다음과 같이 구현할 수 있다.

Scanner scanner = new Scanner(System.in); String symbol = scanner.next();

  • 조건문(if/else if/else)을 사용해 구현한다.
  • 자바에서 사용자 입력 문자열과 문자열이 같은지 비교할 때 equals()를 사용한다.

3단계>>

학습 목표

  • 프로그래밍 중 반복문을 경험한다.

요구사항

  • 한 번에 2개의 숫자 값만 사칙연산을 하는 것이 아니라 여러 개의 사칙연산이 가능해야 한다.
  • 앞 단계에서 계산한 결과 값은 이후 연산의 첫번째 값으로 사용해야 한다.
    • 예를 들어 4 + 2 * 3의 순서로 값을 입력하면 먼저 4 + 2가 계산되고 결과 값 6과 3의 곱셈을 통해 18의 계산 결과가 나와야 한다.
  • 사칙연산 기호 대신 "quit"이라는 문자열을 입력하면 최종 계산 결과를 출력하고 프로그램을 종료한다.

힌트

  • 값을 입력 받을 때 while 반복문을 사용한다.
  • while(true)와 같이 구현하면 무한히 값을 입력받을 수 있다.
  • while(true)로 실행하고 있는 프로그램을 종료하려면 break 키워드를 사용하면 된다. 즉, "quit"이라는 문자열을 입력하는 경우 break를 사용해 프로그램을 종료할 수 있다.

4단계 >>

학습 목표

  • 프로그래밍의 메소드를 경험한다.

요구사항

  • 사용자의 값을 입력하는 구현(예로 input 메소드), 입력 값에 따라 사칙연산 구현(예로 main 메소드), 사칙연산 결과 값을 출력하는 구현(예로 output 메소드)을 서로 다른 메소드로 나누어 구현한다.
  • 사용자의 값을 입력하는 구현은 첫 번째 숫자 값, 사칙연산 기호 및 quit, 두 번째 숫자 값 입력으로 나뉜다.

5단계>>

학습 목표

  • 프로그래밍에서 클래스를 경험한다.

요구사항

  • 사용자의 값을 입력하는 구현(예로 Input 클래스), 입력 값에 따라 사칙연산 구현(예로 Calculator 클래스), 사칙연산 결과 값을 출력하는 구현(예로 Output 클래스)을 서로 다른 클래스로 나누어 구현한다.
  • main 메소드는 입력 값에 따라 사칙연산 구현하는 클래스에 구현하고 실행한다.

6단계 >>

학습 목표

  • 프로그래밍의 기본 문법을 경험한다.

요구사항

  • 사용자가 입력한 문자열 값에 따라 사칙연산을 수행할 수 있는 계산기를 구현해야 한다.
  • 문자열 계산기는 사칙연산의 계산 우선순위가 아닌 입력 값에 따라 계산 순서가 결정된다. 즉, 수학에서는 곱셈, 나눗셈이 덧셈, 뺄셈 보다 먼저 계산해야 하지만 이를 무시한다.
  • 예를 들어 "2 + 3 * 4 / 2"와 같은 문자열을 입력할 경우 2 + 3 * 4 / 2 실행 결과인 10을 출력해야 한다.

힌트

  • 문자열을 입력 받은 후(scanner의 nextLine() 메소드 활용) 빈 공백 문자열을 기준으로 문자들을 분리해야 한다.

 

'JAVA' 카테고리의 다른 글

JAVA 플레이 그라운드 - 1.구구단  (0) 2019.06.23
JAVA 플레이 그라운드  (0) 2019.06.22
자바 - 파일 입출력  (0) 2019.05.30
자바 - 나무보다 숲을 보자(3)  (0) 2019.05.24
자바 - 나무보다 숲을 보자(3)  (0) 2019.05.22