# Language/Java

명품 JAVA 프로그래밍 4장 4번

명품 자바 Programming 
Chapter4 Ex4

Q :



다음 두 개의 static 메소드를 가진 ArrayUtility2 클래스를 만들어보자. ArrayUtility2 클래스를 이용하는 테스트용 프로그램도 함께 작성하라.

static int [] concat(int [] s1, int [] s2); // s1과 s2를 연결한 새로운 배열 리턴
static int [] remove(int [] s1, int [] s2); // s1에서 s2 배열의 숫자를 모두 삭제한 새로운 배열 리턴








Solution






1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
package chap4ex;
import java.util.Scanner;
class ArrayUtility2{
    static int len;
    static int [] concat(int [] s1, int [] s2){
        len = s1.length + s2.length;
        int newArray[] = new int[len];
        for(int i = 0; i< s1.length; i++){
            newArray[i] = s1[i];
        }
        for (int i = 0; i< s2.length; i++){
            newArray[i + s1.length= s2[i];
        }
        return newArray;
    }
    
    static int [] remove(int [] s1, int [] s2){
        int newArray[] = new int[s1.length];
        
        for(int i=0;i<s2.length;i++) {
            for(int j=0;j<s1.length;j++) {
                if(s1[j] == s2[i])
                    s1[j] = 0;
            }
        }
        
        for(int i=0; i<s1.length; i++) {
            newArray[i] = s1[i];
        }
        return newArray;
    }
    
    
}
 
public class q4 {
    public static void main(String[] args) {
        int a, b;
        int [] newArray1;
        Scanner in = new Scanner(System.in);
        ArrayUtility2 util = new ArrayUtility2();
        System.out.println("배열 1의 길이를 입력하시오.");
        a=in.nextInt();
        System.out.println("배열 2의 길이를 입력하시오.");
        b=in.nextInt();
        int [] test1 = new int [a];
        int [] test2 = new int [b];
        System.out.println("정수 " + a +"개를 입력하라");
        for(int i = 0 ; i<a; i++){
        test1[i] = in.nextInt();
        }
        
        System.out.println("정수 "+ b + "개를 입력하라");
        for(int i = 0 ; i<b; i++){
            test2[i] = in.nextInt();
        }
        
        newArray1 = util.concat(test1, test2);
        for(int i = 0 ; i < newArray1.length; i++){
            System.out.print(newArray1[i] + " ");
            if(i == newArray1.length-1System.out.println("");
        }
        
        newArray1 = util.remove(newArray1, test2);
        for(int i = 0 ; i < newArray1.length; i++){
            System.out.print(newArray1[i] + " ");
            if(i == newArray1.length-1System.out.println("");
        }
    }
}
 
cs








Key Point






concat 메소드 : 두 배열의 길이의 합만큼 길이를 갖고 배열을 이어 붙인다.

remove 메소드 : 첫 번째 인자의 배열에서 두 번째 인자 배열 원소를 가지는 지 확인한다.








유용하셨다면 공감 버튼 ↓ 눌러주세요! 


728x90