Notice
Recent Posts
Recent Comments
Link
투케이2K
244. (java/자바) 배열 (array) 특정 개수 별 그룹 (group) 묶음 수행 및 로직 처리 본문
[개발 환경 설정]
개발 툴 : Eclipse
개발 언어 : Java
[소스 코드]
package ex;
import java.util.ArrayList;
import java.util.Arrays;
public class MainActivity7 {
public static void main(String[] args) {
// TODO Auto-generated method stub
System.out.println("[Program Start]");
System.out.println("");
/* [요약 설명]
* 1. split : 특정 문자 기준으로 문자열을 분리할 수 있습니다.
* 2. 로직 : 배열 특정 개수 별로 그룹 수행 >> 그룹별 로직 처리 실시
* */
// [초기 문자열 데이터 선언 실시]
String strData = "1^2^3^4^5^6^7^8^8^10^11^12";
System.out.println("strData [문자열 데이터] : " + strData);
System.out.println("");
// [split 을 사용해서 특정 문자 기준으로 데이터를 잘라서 배열에 삽입]
String arr[] = strData.split("\\^");
System.out.println("arr [배열 데이터] : " + Arrays.toString(arr));
System.out.println("length [배열 길이] : " + arr.length);
System.out.println("");
// [배열 데이터에서 특정 값 기준으로 그룹핑 수행 실시]
// ===========================================
String groupData = ""; // 그룹 데이터
int MAX_GROUP = 5; // 그룹 개수
String GROUP_CONNECT = "^"; // 그룹 결합 문자
// ===========================================
if (arr.length > MAX_GROUP) { // 배열 길이가 그룹 개수 초과로 포함된 경우
for (int i=0; i<arr.length; i++) {
if (i != 0 && (i % MAX_GROUP == 0)) { // 0번째 인덱스가 아니고, 그룹 개수로 나누어 떨어진 경우
System.out.println("그룹 데이터 [MAX_GROUP] [초과] : " + groupData);
System.out.println("");
// TODO [로직 처리 실시]
// [변수값 초기화]
groupData = "";
// [해당 번지 그룹으로 나누어떨어진 데이터 삽입]
groupData = groupData + arr[i]; // 그룹 데이터 만듦
}
else { // 0번째 인덱스 인 경우나, 그룹 개수로 나누어 떨어지지 않은 경우
if (i != 0) { // 0 번지 인덱스가 아닌 경우
groupData = groupData + GROUP_CONNECT + arr[i]; // 그룹 데이터 만듦
}
else { // 0 번지 인덱스 인 경우
groupData = groupData + arr[i]; // 그룹 데이터 만듦
}
}
}
// [그룹 개수 이외 나머지 잔여 출력]
System.out.println("그룹 데이터 [MAX_GROUP] [나머지] : " + groupData);
System.out.println("");
// TODO [로직 처리 실시]
}
// ===========================================
else { // 배열 길이가 그룹 개수 이하인 경우
for (int j=0; j<arr.length; j++) {
if (j != 0) { // 0 번지 인덱스가 아닌 경우
groupData = groupData + GROUP_CONNECT + arr[j]; // 그룹 데이터 만듦
}
else { // 0 번지 인덱스 인 경우
groupData = groupData + arr[j]; // 그룹 데이터 만듦
}
}
System.out.println("그룹 데이터 [MAX_GROUP] [이하] : " + groupData);
System.out.println("");
// TODO [로직 처리 실시]
}
// ===========================================
} // [메인 종료]
} // [클래스 종료]
[결과 출력]
반응형
'Java' 카테고리의 다른 글
246. (java/자바) [클래스 기반] Anonymous 익명 클래스 사용 방법 정의 (0) | 2022.03.16 |
---|---|
245. (java/자바) 클래스 생성자 초기화 실시 및 toString 메소드 재정의 후 리턴 데이터 반환 실시 (0) | 2022.03.16 |
243. (java/자바) split 사용해 array , array list 배열 데이터 삽입 실시 (0) | 2022.03.09 |
242. (java/자바) subList 사용해 array list 가변 배열 데이터 부분 데이터 출력 실시 (0) | 2022.03.09 |
241. (java/자바) String join 사용해 문자열 및 배열 (array) 데이터 결합 실시 (0) | 2022.03.09 |
Comments