📚 Study/Java

JAVA :: Test073_클래스와 인스턴스(입력받은 두 정수와 연산자를 활용하여 연산을 수행하는 프로그램 구현)

bono-hye 2023. 9. 11. 09:47

○ 실습

사용자로부터 임의의 두 정수와 연산자를 입력받아 해당 연산을 수행하는 프로그램을 구현한다.

단, 클래스와 인스턴스의 개념을 활용하여 작성할 수 있도록 한다. (Calculate 클래스 설계)

 

실행 예)

임의의 두 정수 입력(공백 구분) : 100 51

임의의 연산자 (+ - * /) : +

 

>> 100 + 51 = 151

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

 

▼ 내가 작성한 코드

import java.io.IOException;
import java.util.Scanner;

class Calculate
{

	int num1, num2;
	char op;
	int result;
	
	// 임의의 정수와 연산자 입력 기능
	void input() throws IOException
	{
		Scanner sc = new Scanner(System.in);

		System.out.print("임의의 두 정수 입력(공백 구분)");
		num1 = sc.nextInt();
		num2 = sc.nextInt();

		System.out.print("임의의 연산자(+ - * /) : ");
		op = (char)System.in.read();
	}

	// 연산을 수행하는 기능
	int cal()
	{
		if (op=='+')
		{
			result = num1+num2;
		}
		if (op=='-')
		{
			result = num1-num2;
		}
		if (op=='*')
		{
			result = num1*num2;
		}
		if (op=='/')
		{
			result = num1/num2;
		}
		return result;
	}
	
	// 출력을 수행하는 기능
	void print()
	{
		System.out.printf("\n%d %c %d = %d\n", num1, op, num2, result);
	}
}

public class Test073
{
	public static void main(String[] args) throws IOException

	{
		Calculate ob = new Calculate();

		ob.input();

		int cal = ob.cal();

		ob.print(cal);
	}
}

 

▼ 같이 작성한 코드

import java.util.Scanner;
import java.io.IOException;

class Calculate
{
	// 주요 변수 선언
	int su1, su2;			//-- 사용자로부터 입력받은 두 정수를 담아낼 변수
	char op;				//-- 사용자로부터 입력받은 연산자를 담아낼 변수

	// 메소드 정의 (기능 : 입력)
	void input() throws IOException
	{
		Scanner sc = new Scanner(System.in);

		System.out.print("임의의 두 정수 입력(공백 구분) " );
		su1 = sc.nextInt();
		su2 = sc.nextInt();

		System.out.print("임의의 연산자 (+ - * /) : ");
		op = (char)System.in.read();
	}

	// 메소드 정의 (기능 : 연산) → 나눗셈 연산도 정수 기반으로 처리 
	int cal()
	{
		int result = -1;

		switch (op)
		{
			case '+' : result = su1 + su2; break;
			case '-' : result = su1 - su2; break;
			case '*' : result = su1 * su2; break;
			case '/' : result = su1 / su2; break;
			// default : result = -1	
		}
		return result;
	}

	// 메소드 정의 (기능 : 출력)
	void print(int s)
	{
		System.out.printf("\n>>%d %c %d = %d\n", su1, op, su2, s);
	}
}


public class Test073
{
	public static void main(String[] args) throws IOException
	{
		// Calculate 인스턴스 생성
		Calculate cal = new Calculate();

		cal.input();

		int r = cal.cal();

		cal.print(r);
		
	}
}