>  기사  >  Java  >  Java에서 다수 조합 병합을 구현하는 방법

Java에서 다수 조합 병합을 구현하는 방법

王林
王林앞으로
2020-08-01 16:38:523052검색

Java에서 다수 조합 병합을 구현하는 방법

요구 사항:

이제 여러 정수 배열 세트가 있으며 이를 새 배열로 병합해야 합니다.

(추천 튜토리얼: Java 입문 튜토리얼)

병합 규칙:

각 배열에서 고정 길이 콘텐츠를 순서대로 꺼내어 새 배열로 병합합니다. 행이 부족하면 콘텐츠가 삭제됩니다. 길이가 고정되어 있거나 비어 있으면 나머지 내용을 직접 꺼내어 새 배열에 넣고 다음 줄로 계속 진행합니다.

(동영상 튜토리얼 추천: java 동영상 튜토리얼)

코드 구현:

package Shuru_lianxi;
 
import java.util.ArrayList;
import java.util.Scanner;
 
public class biShi {
 
	public static boolean isNull(ArrayList<String> gh) {
		int i = 0;
		for (i = 0; i < gh.size(); i++) {
			if (gh.get(i) != null)
				break;
		}
		if (i < gh.size()) {
			return false;
		} else {
			return true;
		}
	}
 
	public static void Alg(ArrayList<String> ma, int num) {
		String tem = "";// 作为最后的返回结果
		while (!isNull(ma)) {
			for (int i = 0; i < ma.size(); i++) {
				String sk = ma.get(i);
				if (sk == null) {
					continue;
				}
				String[] gg = sk.split(",");
				if (sk.length() == 0) {
					ma.set(i, null);// 删掉取完的内容
				} else {
					if (gg.length <= num) {
						tem = tem + sk + ",";
						ma.set(i, null);
					} else {
						for (int k = 0; k < num; k++) {
							tem = tem + gg[k] + ",";
						}
						String hh = "";
						for (int l = num; l < gg.length; l++) {
							if (l == gg.length - 1) {
								hh = hh + gg[l];
							} else {
								hh = hh + gg[l] + ",";
							}
						}
						// 将没取完的数组重新覆盖
						ma.set(i, hh);
					}
				}
			}
		}
		System.out.println(tem.substring(0, tem.length() - 1));
	}
 
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		int num = sc.nextInt();
		ArrayList<String> ma = new ArrayList<String>();
		sc.nextLine();// nextInt()会留下一个回车,需要消除,否则后边会出错
		while (!sc.hasNext("#")) {// 以#结束,这里你可以修改成其他的
			ma.add(sc.nextLine());
		}
		Alg(ma, num);
	}
}

위 내용은 Java에서 다수 조합 병합을 구현하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 csdn.net에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제

관련 기사

더보기