import java.util.Scanner;
/*문제] 두 수를 입력받아서 덧셈, 뺄셈, 곱셈, 나눗셈(몫), 나눗셈(나머지)를 출력하는 프로그램을 작성해보자.
* 1. 요구사항 파악 : 덧셈, 뺄셈, 곱셈, 나눗셈(몫), 나눗셈(나머지)
* 2. 요구사항 분석 : 생략
* 3. 요구사항 설계 : int, int 데이터,
* 변수명(first, second)
* 메소드명(덧셈 - Adder, 뺄셈 - Suber, 곱셈 - Multier, 나눗셈몫 - DividerMok, 나눗셈나머지 - DividerReer)
* 클래스명(CalAdder, CalSuber, CalMultier, CalDividerMok, CalDividerReer, main: MethodSample5)
* object( add, sub, mul, mok, reer, total )
*
*/
//통으로 짠 case. 아래요구사항에 따라 해결.
/* 덧셈과 전달인자가 두 개있고, 리턴값은 있습니다. --- 요구사항 파악. ---
* 뺄셈은 전달인자가 두 개있고, 리턴값은 없습니다.
* 곱셈은 전달인자는 없고, 리턴 값은 있습니다.
* 나눗셈은 전달인자가 없고, 리턴값이 없습니다.
*/
class CalAdder { // public을 빼야함.
public int Adder(int first, int second) { // 메소드의 parameter(매개변수) : 실인수(받는쪽)
// 나중에 실무에서는 이 Adder 라는 것이 동일한명칭으로 여러개가 쓰일경우가 있는데, 이경우
// 매개변수의 값을 받을수있는 여부를 찾아서 구분해야함.
int sum=0;
sum = first + second;
return sum;
}
}
class CalSuber {
public void Suber(int first, int second) { // 리턴값이 없으므로 void
int sum=0;
sum = first - second;
System.out.println("2.뺄셈의 결과는 = " +sum);
}
}
class CalMultier {
public int Multier() {
int first = 500, second = 200, sum=0;
sum = first * second;
return sum;
}
}
class CalDividerMok {
public void DividerMok() {
int first = 500, second = 200, sum=0;
sum = first / second;
System.out.println("4.나눗셈 몫의 결과는 = " +sum); //2
}
}
class CalDividerReer {
public void DividerReer() {
int first = 500, second = 200, sum=0;
sum = first % second;
System.out.println("5.나눗셈 나머지의 결과는 = " +sum); //100
}
}
public class MethodSample5 {
public static void main(String[] args) {
int x, y;
Scanner sc = new Scanner(System.in);
System.out.println("두 개의 숫자를 입력하세요.");
x = sc.nextInt();
y = sc.nextInt();
//메소드 Adder(x,y)라는 값을 전달할 때, add하는 오브젝트는 CalAdder()라는 클래스에서 만들어진 객체이므로
//CalAdder()라는 클래스에 접근하여 Adder(x,y)라는 메소드명을 찾아서 값을 전달해 줍니다.
CalAdder add = new CalAdder(); //CalAdder라는 클래스가 add라는 오브젝트를 생성.
int result = add.Adder(x, y); //객체명.메소드명. 전달인자(arguments) : 가인수(보내는 쪽)
System.out.println("1.덧셈의 결과는 = " +result);
CalSuber sub = new CalSuber();
sub.Suber(x, y);
CalMultier mul = new CalMultier();
int result2 = mul.Multier();
System.out.println("3.곱셈의 결과는 = " +result2); //100000
CalDividerMok mok = new CalDividerMok();
mok.DividerMok();
CalDividerReer reer = new CalDividerReer();
reer.DividerReer();
}
}