가변인수에 대해서 알아보자.
가변인수:
메써드의 인자를 지정하지 않고 임의로 개수를 받아들이는 경우
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 |
댓글