요구 사항:
이제 여러 정수 배열 세트가 있으며 이를 새 배열로 병합해야 합니다.
(추천 튜토리얼: 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!