站长资讯网
最全最丰富的资讯网站

java如何实现多数组合并

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); 	} }

赞(0)
分享到: 更多 (0)
网站地图   沪ICP备18035694号-2    沪公网安备31011702889846号