Test034 if else 문 연습 : 두 개의 정수를 입력받아 연산하는 프로그램
※ Quiz 실습 문제
임의의 두 정수와 연산자를 입력받아 해당 연산자의 처리 결과를 출력하는 프로그램을 작성한다.
단, if 조건문을 활용하여 처리할 수 있도록 하며, 연산 결과는 편의상 정수형으로 처리될 수 있도록 한다.
※ 문자열은 비교연산자로 비교 불가
※ 연산자의 아스키코드
+ = 43
- = 45
* = 42
/ = 47
Test034.java
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.IOException;
public class Test034
{
public static void main(String[] args) throws IOException
{
//▲ 주요 변수 선언
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
// System.in.read() 메소드는 한 문자만 가져온다.
// 단, 하나의 문자를 입력받아 입력받은 문자의
// ASCII Code 값을 반환한다.
/*-----------------------------------------[풀이 ①]
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=='+')
{
System.out.printf("%n>> %d + %d = %d%n", a, b, (a+b));
}
else if(op=='-')
{
System.out.printf("%n>> %d - %d = %d%n", a, b, (a-b));
}
else if(op=='*')
{
System.out.printf("%n>> %d * %d = %d%n", a, b, (a*b));
}
else if(op=='/')
{
System.out.printf("%n>> %d / %d = %d%n", a, b, (a/b));
}
else
{
System.out.printf("입력 과정에 오류가 존재합니다.");
}
---------------------------------------------------------*/// op를 char변수에 담는 방식
/*-----------------------------------------[풀이 ②]
int a, b, op;
//▲ 입력받기
System.out.print("첫 번째 정수 입력 : ");
a = Integer.parseInt(br.readLine());
System.out.print("두 번째 정수 입력 : ");
b = Integer.parseInt(br.readLine());
System.out.print("연산자 입력(+ - * /) : ");
op = System.in.read();
if(op==43) // +
{
System.out.printf("%n>> %d + %d = %d%n", a, b, (a+b));
}
else if(op==45) // -
{
System.out.printf("%n>> %d - %d = %d%n", a, b, (a-b));
}
else if(op==42) // *
{
System.out.printf("%n>> %d * %d = %d%n", a, b, (a*b));
}
else if(op==47) // /
{
System.out.printf("%n>> %d / %d = %d%n", a, b, (a/b));
}
else
{
System.out.printf("입력 과정에 오류가 존재합니다.");
}
--------------------------------------------------------*/// op를 int변수에 담는 방식
//-----------------------------------------[풀이 ③]
int a, b, result=0;
int op;
//▲ 입력받기
System.out.print("첫 번째 정수 입력 : ");
a = Integer.parseInt(br.readLine());
System.out.print("두 번째 정수 입력 : ");
b = Integer.parseInt(br.readLine());
System.out.print("연산자 입력(+ - * /) : ");
op = 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;
//else
//{
// result = 0;
//}
System.out.printf("\n>> %d %c %d = %d\n", a, op, b, result);
//--------------------------------------------------------*/// op를 int변수에 담는 방식
}
}
cmd
첫 번째 정수 입력 : 15
두 번째 정수 입력 : 20
연산자 입력(+ - * /) : +
>> 15 + 20 = 35
계속하려면 아무 키나 누르십시오 . . .
'Study Note > Java' 카테고리의 다른 글
JAVA_ Test036_ if else 문 연습 : 작은 수에서 큰 수 순으로 출력하는 프로그램 (0) | 2018.04.04 |
---|---|
JAVA_ Test035_ if else 문 연습 : 배수 판별 프로그램 (0) | 2018.04.04 |
JAVA_ Test033_ if else 문 연습 : 윤년 평년 판단 프로그램 (0) | 2018.04.04 |
JAVA_ Test032_ if else 문 연습 : 짝수 홀수 판단 프로그램 (0) | 2018.04.04 |
JAVA_ Test031_ if else 문 실습 : 성적 출력하기 (0) | 2018.04.04 |
댓글