명품 자바 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-1) System.out.println(""); } newArray1 = util.remove(newArray1, test2); for(int i = 0 ; i < newArray1.length; i++){ System.out.print(newArray1[i] + " "); if(i == newArray1.length-1) System.out.println(""); } } } | cs |
Key Point
concat 메소드 : 두 배열의 길이의 합만큼 길이를 갖고 배열을 이어 붙인다.
remove 메소드 : 첫 번째 인자의 배열에서 두 번째 인자 배열 원소를 가지는 지 확인한다.
유용하셨다면 공감 버튼 ↓ 눌러주세요!
728x90
'# Language > Java' 카테고리의 다른 글
명품 JAVA 프로그래밍 5장 OpenChallenge (0) | 2018.07.20 |
---|---|
명품 JAVA 프로그래밍 4장 6번 (2) | 2018.07.20 |
명품 JAVA 프로그래밍 4장 5번 (0) | 2018.07.20 |
명품 JAVA 프로그래밍 4장 3번 (0) | 2018.07.20 |
명품 JAVA 프로그래밍 4장 2번 (0) | 2018.07.20 |
명품 JAVA 프로그래밍 4장 1번 (0) | 2018.07.20 |
명품 JAVA 프로그래밍 4장 OpenChallenge (0) | 2018.07.20 |