본문 바로가기
Study Note/Java

JAVA_ Test073_ 클래스와 인스턴스 / 두 정수와 연산자를 입력받아 사칙연산을 수행하는 프로그램

by 시뮝 2018. 4. 30.
728x90


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

계속하려면 아무 키나 누르십시오 . . .







728x90

댓글