- 계산기(Calculator) 클래스를 정의한다
- 덧셈, 뺄셈, 곱셈, 나눗셈 기능을 calc() 메서드에서 처리한다.
- 첫번째 파라미터는 문자타입(char) 연산자 기호(opr)을 전달하고
- 두번째 파라미터는 정수타입(int) 피연산자 가변인자 nums를 전달한다.
출력문은 nums + nums = (nums + nums)
nums - nums = (nums - nums)와 같이 연산자가 모두 출력되도록 한다.
✍ Calculator 클래스 만들기
class Calculator {
public void cals(char opr, int...nums) {
int result = nums[0]; // 배열의 첫번째 요소를 변수 result에 저장
System.out.print(nums[0]); // 배열의 첫번째 요소를 출력
for(int i=1; i<nums.length; i++) { // 앞에서 배열 인덱스0을 출력했으니 i는 1부터 시작
if(opr == '+') { // 연산자가 '+' 인 경우
System.out.print(" + " + nums[i]);
result += nums[i]; // nums[i]를 변수 result에 누적(덧셈)
} else if(opr == '-') { // 연산자가 '-' 인 경우
System.out.print(" - " + nums[i]);
result -= nums[i]; // nums[i]를 변수 result에 누적(뺄셈)
} else if(opr == '*') { // 연산자가 '*' 인 경우
System.out.print(" * " + nums[i]);
result *= nums[i]; // nums[i]를 변수 result에 누적 (곱셈)
} else if(opr == '/') { // 연산자가 '/' 인 경우
System.out.print(" / " + nums[i]);
result /= nums[i]; // nums[i]를 변수 result에 누적 (나눗셈)
}
}
System.out.println(" = " + result); // 누적된 result의 값을 출력
}
}
--> 변수 result에 배열의 첫번째 요소를 저장했다.
이 때 변수 result에 배열의 요소 nums[i]를 누적하면 덧셈, 뺄셈 등의 연산결과가 저장된다.
예를 들어 배열이 첫번째 요소가 10이고, 연산자는 '+'라고 가정하자.
2번째 요소가 20이라면 10에 20을 더한 값이 result에 저장된다.
✍ 메인메서드에서 가변인자 전달하기
public static void main(String[] args) { // 메인메서드
Calculator c = new Calculator(); // 객체 생성
c.cals('+', 10, 20, 30); // 매개변수 전달. 10, 20, 30은 가변인자
}
💻
--> 메인메서드에서 매개변수 '+'과 10, 20, 30을 전달하였다
그래서 10 + 20 + 30 = 60의 결과가 출력되었다.
✍
public static void main(String[] args) {
Calculator c = new Calculator();
c.cals('+', 10, 20, 30);
c.cals('-', 10, 20, 30);
c.cals('*', 10, 20, 30);
c.cals('/', 10, 20, 30);
}
💻 여려가지 결과 확인하기
'개발 > Java' 카테고리의 다른 글
[Java] 패키지 (0) | 2023.01.28 |
---|---|
[Java] 참조형 변수 (0) | 2023.01.26 |
[Java] 배열을 이용하여 메서드 출력하기 (0) | 2023.01.23 |
[Java] Getter Setter 메서드 정의 연습 (0) | 2023.01.23 |
[Java] 비정형 인자( = 가변인자, Variable Arguments) (0) | 2023.01.23 |