Test073 클래스와 인스턴스 / 두 정수와 연산자를 입력받아 사칙연산을 수행하는 프로그램
※ 실습문제
사용자로부터 임의의 두 정수와 연산자를 입력받아 사칙연산을 수행하는 프로그램을 구현한다.
단, 클래스와 인스턴스의 개념을 활용하여 작성할 수 있도록 한다.
Test073.java
import java.io.IOException;
import java.util.Scanner;
class Calculate
{
// 주요 변수 선언
int a, b; //-- 사용자로부터 입력받은 두 정수를 담아둘 변수
char ch;
// 메소드 정의(기능 : 입력)
void input() throws IOException
{
Scanner sc = new Scanner(System.in);
System.out.print("임의의 두 정수 입력(공백 구분) : ");
a = sc.nextInt();
b = sc.nextInt();
System.out.print("임의의 연산자 입력(+ - * /) : ");
ch = (char)System.in.read();
}
// 메소드 정의(기능 : 연산)
double cal()
{
double result=0;
/*--(if else 연산)
if (ch=='+')
result = a+b;
else if (ch=='-')
result = a-b;
else if (ch=='*')
result = a*b;
else if (ch=='/')
result = a/b;
else
return result;
*/
//--(if else 연산)
switch (ch)
{
case '+': result = a+b; break;
case '-': result = a-b; break;
case '*': result = a*b; break;
case '/': result = a/b; break;
}
return result;
}
// 메소드 정의(기능 : 출력)
void print(double k)
{
System.out.printf(">> %d %c %d = %.1f\n", a, ch, b, k);
}
}
public class Test073
{
public static void main(String[] args) throws IOException
{
// Calculate 클래스 기반의 인스턴스 생성
Calculate ob = new Calculate();
ob.input(); // 생성한 인스턴스를 통한 입력 메소드 호출
double result = ob.cal(); // 생성한 인스턴스를 통한 연산 메소드 호출
ob.print(result); // 생성한 인스턴스를 통한 출력 메소드 호출
}
}
cmd
임의의 두 정수 입력(공백 구분) : 4 5
임의의 연산자 입력(+ - * /) : +
>> 4 + 5 = 9.0
계속하려면 아무 키나 누르십시오 . . .
'Study Note > Java' 카테고리의 다른 글
JAVA_ Test075_ 클래스와 인스턴스 / 생성자(Constructor) 실습 (0) | 2018.04.30 |
---|---|
JAVA_ Test074_ 클래스와 인스턴스 / 생성자(Constructor) 정의 (0) | 2018.04.30 |
JAVA_ Test072_ 클래스와 인스턴스 / 1 부터 입력받은 수 까지의 합을 연산 (0) | 2018.04.15 |
JAVA_ Test071_ 클래스와 인스턴스 / 원의 넓이와 둘레 구하기 (0) | 2018.04.15 |
JAVA_ Test070_ 클래스와 인스턴스 / 직사각형 클래스 설계 (0) | 2018.04.15 |
댓글