본문 바로가기
JAVA

[JAVA] 가변 인수

by KhyeonS 2022. 7. 26.

가변인수에 대해서 알아보자.


가변인수:

메써드의 인자를 지정하지 않고 임의로 개수를 받아들이는 경우

class Test01{

int getMax(int x, int y){  // getMax()에는 x, y 두 개의 인자만 들어 올 수 있음

............

}

=>class Test01{

int getMax(int ... name){  // getMax()에는 name이라는 임의의  개수 인자가 들어 올 수 있음

............

}

package java07;


class Maxs {
	int getMax(int ... name) {// 멤버 매써드:가변인수가 들어옴
		int max=0;            // 멤버 변수
		for (int i=0; i<name.length; i++ ){// 들어올 인자의 갯수까지
			if(i==0) {
				max=name[0]; //name[] 배열의 첫번째 값을 0으로 할당
			}
			if (max < name[i]) {
				max = name[i];
			}
		}
		return max;
	}
}

public class Test01 {
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Maxs vt = new Maxs();// Maxs 클래스에서 객체 vt 생성:인스턴스화 한다.
		// vt 객체는 Maxs 클래스의 필드 내용을 모두 가지고 있음
		System.out.println("(2, 5, 7, 0, 1)" +"=>최대값: "+vt.getMax(2, 5, 7, 0, 1));
		System.out.println("(100, 45, 11)"+"=>최대값: " +vt.getMax(100, 45, 11));
		System.out.println("(10)"+"=>최대값: " +vt.getMax(10));
	}

}


package java0810;

public class Test12 {
	int getMax(int ... name) { // 가변(길이)의 인수가 들어옴
		int max=0;
		for (int i = 0; i < name.length; i++) {
			if (i==0) {
				max=name[0];   // 무조건 첫번째에 값을 넣고 거기로부터 비교함
			}
			if (max < name[i]) {
				max=name[i];
			}
		}
		return max;
	}
	public static void main(String[] args) {
		Test12 vt = new Test12();
		System.out.println("(2, 5, 7, 0, 1) "+ vt.getMax(2, 5, 7, 0, 1));
		System.out.println("(100, 45, 11) " + vt.getMax(100, 45, 11));
		System.out.println("(10) "+ vt.getMax(10));
	}

}

'JAVA' 카테고리의 다른 글

[JAVA] 상속  (0) 2022.07.27
[JAVA] Overload/ Overriding  (0) 2022.07.26
[JAVA]클래스/ 메써드  (0) 2022.07.26
[JAVA] do while 문  (0) 2022.07.26
[JAVA] 배열 / Scanner/ 난수  (0) 2022.07.22

댓글