○ 실습
사용자로부터 임의의 두 정수와 연산자를 입력받아
해당 연산자의 연산 처리 결과를 출력하는 프로그램을 구현한다.
단 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);
}
}
○ 실습
사용자로부터 임의의 두 정수와 연산자를 입력받아
해당 연산자의 연산 처리 결과를 출력하는 프로그램을 구현한다.
단 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); } }