JAVA :: Test035_제어문 if~else (정수와 연산자 입력 받아 연산을 처리하는 프로그램 구현)

2023. 9. 8. 10:39· 📚 Study/Java

○ 실습

사용자로부터 임의의 두 정수와 연산자를 입력받아

해당 연산자의 연산 처리 결과를 출력하는 프로그램을 구현한다.

단 if  조건문을 활용하여 처리할 수 있도록 하며,

연산 결과는 편의상 정수 기반으로 처리될 수 있도록 한다.

 

실행 예)

첫 번째 정수 입력     : 10

두 번째 정수 입력     : 3

연산자 입력 [ + - * / ] : +

 

>> 10 + 3 = 13

계속하려면 아무 키나 누르세요...

 

▼ 내가 작성한 코드

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.IOException;
public class Test035
{
public static void main(String[] args) throws IOException
{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int n1, n2;
char c;
System.out.print("첫 번째 정수 입력 : ");
n1 = Integer.parseInt(br.readLine());
System.out.print("두 번째 정수 입력 : ");
n2 = Integer.parseInt(br.readLine());
System.out.print("연산자 입력[+ - * /] : ");
c = (char)System.in.read();
if (c=='+')
{
System.out.printf("%d + %d = %d\n", n1, n2, n1+n2);
}
else if (c=='-')
{
System.out.printf("%d - %d = %d\n", n1, n2, n1-n2);
}
else if (c=='*')
{
System.out.printf("%d * %d = %d\n", n1, n2, n1*n2);
}
else if (c=='/')
{
System.out.printf("%d / %d = %d\n", n1, n2, n1/n2);
}
}
}

▼ 같이 작성한 코드 ①

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.IOException;
public class Test035
{
public static void main(String[] args) throws IOException
{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int a, b, op; //-- 첫 번째, 두 번째 정수, 연산자 (연산자 정수로 해도 가능)
System.out.print("첫 번째 정수 입력 : ");
a = Integer.parseInt(br.readLine());
System.out.print("두 번째 정수 입력 : ");
b = Integer.parseInt(br.readLine());
// Integer.parseInt()
// "1234" → Integer.parseInt → 1234
// "abcd" → Integer.parseInt → (Ⅹ)
System.out.print("연산자 입력 [+ - * /] : ");
//op = (char)Integer.parseInt(br.readLine()); // 택도 없음
//op = (char)System.in.read(); // (char)로 명시적 형 변환, op가 char형일 경우
op = System.in.read();
// 테스트
//System.out.println("입력한 연산자 : " + op); // 출력 잘 됨
// '+' → 43 / '-' → 45 / '*' → 42 / '/' → 47
if (op == 43) //-- 사용자가 입력한 연산자가 '+' 이라면
{
// a 와 b 의 덧셈 연산 수행하여 결과 출력
System.out.printf("\n>> %d + %d = %d\n", a, b, (a+b));
}
else if (op == 45) //-- 사용자가 입력한 연산자가 '-' 이라면
{
// a 와 b의 뺄셈 연산 수행하여 결과 출력
System.out.printf("\n>> %d - %d = %d\n", a, b, (a-b));
}
else if (op == 42) //-- 사용자가 입력한 연산자가 '*' 이라면
{
// a 와 b의 곱셈 연산 수행하여 결과 출력
System.out.printf("\n>> %d * %d = %d\n", a, b, (a*b));
}
else if (op == 47) //-- 사용자가 입력한 연산자가 '/' 이라면
{
// a 와 b의 나눗셈 연산 수행하여 결과 출력
System.out.printf("\n>> %d / %d = %d\n", a, b, (a/b));
}
else //-- 사용자가 입력한 연산자가 기본 사칙 연산자가 아니라면...
{
System.out.println("\n>> 입력 과정에 오류가 존재합니다.");
}

▼ 같이 작성한 코드 ②

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.IOException;
public class Test035
{
public static void main(String[] args) throws IOException
{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int a, b; //-- 첫 번째, 두 번째 정수
char op; //-- 연산자
System.out.print("첫 번째 정수 입력 : ");
a = Integer.parseInt(br.readLine());
System.out.print("두 번째 정수 입력 : ");
b = Integer.parseInt(br.readLine());
System.out.print("연산자 입력 [+ - * /] : ");
op = (char)System.in.read();
if (op == '+')
{
// a 와 b 의 덧셈 연산 수행하여 결과 출력
System.out.printf("\n>> %d + %d = %d\n", a, b, (a+b));
}
else if (op == '-') //-- 사용자가 입력한 연산자가 '-' 이라면
{
// a 와 b의 뺄셈 연산 수행하여 결과 출력
System.out.printf("\n>> %d - %d = %d\n", a, b, (a-b));
}
else if (op == '*') //-- 사용자가 입력한 연산자가 '*' 이라면
{
// a 와 b의 곱셈 연산 수행하여 결과 출력
System.out.printf("\n>> %d * %d = %d\n", a, b, (a*b));
}
else if (op == '/') //-- 사용자가 입력한 연산자가 '/' 이라면
{
// a 와 b의 나눗셈 연산 수행하여 결과 출력
System.out.printf("\n>> %d / %d = %d\n", a, b, (a/b));
}
else //-- 사용자가 입력한 연산자가 기본 사칙 연산자가 아니라면...
{
System.out.println("\n>> 입력 과정에 오류가 존재합니다.");
}
}
}

▼ 같이 작성한 코드 ③

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.IOException;
public class Test035
{
public static void main(String[] args) throws IOException
{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int a, b, result=0;
char op;
System.out.print("첫 번째 정수 입력 : ");
a = Integer.parseInt(br.readLine());
System.out.print("두 번째 정수 입력 : ");
b = Integer.parseInt(br.readLine());
System.out.print("연산자 입력[+ - * /] : ");
op = (char)System.in.read();
if(op=='+')
result=a+b;
else if(op=='-')
result=a-b;
else if(op=='*')
result=a*b;
else if(op=='/')
result=a/b;
System.out.printf("%d %c %d = %d\n", a, op, b, result);
}
}
저작자표시 (새창열림)
'📚 Study/Java' 카테고리의 다른 글
  • JAVA :: Test037_제어문 if~else (5개의 정수를 입력 받아 짝수별, 홀수별 합 구하는 프로그램 구현)
  • JAVA :: Test036_제어문 if~else (3개의 정수를 입력 받아 작은 수에서 큰 수 순으로 출력하는 프로그램 구현)
  • JAVA :: Test034_과제_제어문 if~else (윤년/평년 판별하는 프로그램 구현)
  • JAVA :: Test033_제어문 if~else (3,2의 배수 판별하는 프로그램 구현)
bono-hye
bono-hye
bono-hye
공부를 합시다👩🏻‍💻
bono-hye
전체
오늘
어제
  • 분류 전체보기 (506)
    • 📚 Study (225)
      • Java (148)
      • Oracle (28)
      • JDBC (4)
      • Javascript (9)
      • JSP & Servlet (19)
      • JQuery (6)
      • Spring (9)
      • Springboot (0)
      • 개인 공부 (2)
    • ✏️ 문제풀이 (280)
      • 백준 (181)
      • 프로그래머스 (99)

블로그 메뉴

  • 홈
  • 글쓰기
  • 관리
hELLO · Designed By 정상우.v4.2.1
bono-hye
JAVA :: Test035_제어문 if~else (정수와 연산자 입력 받아 연산을 처리하는 프로그램 구현)
상단으로

티스토리툴바

개인정보

  • 티스토리 홈
  • 포럼
  • 로그인

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.