首页 >Java >Java入门 > 正文

java如何实现多数组合并

转载2020-08-01 16:38:520448

需求:

现在有多组整数数组,需要将他们合并成一个新的数组。

(推荐教程: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中文网其它相关文章!

php中文网最新课程二维码
  • 相关标签:java 多数组
  • 本文转载于:csdn,如有侵犯,请联系a@php.cn删除
  • 相关文章

    相关视频


    网友评论

    文明上网理性发言,请遵守 新闻评论服务协议

    我要评论
  • 规则:从每个里按顺序取出固定长度的内容到新的中,取完的内容会删除掉,果该行不足固定长度或者已经为空,则直接取出剩余部分的内容放到新的中,继续下一行。
    下文由java入门学习栏目为大家介绍的冒泡排序,希望可以帮助到大家。
    javascript将两个的方法是:可以使用comcat方法来。首先判断的大小,以大的小的
    今天来用python个excel为一个工作本,使用不到40行代码完成了60张excel工作本为一张,大家一起来看看吧。
    我们在来分析一下在PHP开发过程中,两个且将相同键值的元素在一起,本文将以详细案例解析。
    java常见面试题:1、说一下HashMap的原理;2、说一下HashSet的原理;3、ArrayList和LinkedList的区别是什么;4、和List之间的转换;5、ArrayList
    本文讲述了yii2框架中andWhere进行个or查询,希望对各位有帮助!yii2中使用andWhere进行个or查询需要传入
    下面由java入门学习栏目为大家介绍java快速排序,希望这种算法排序可以帮助到大家!
    layui中的table模块是layui最核心的成之一,它用于对表格进行一些列功能和动态化据操作,本文就来为大家介绍一下layui表格单元格
    本文由java入门程序栏目为大家介绍通过java和伪代码插入排序,希望可以帮助到有需要的同学。
    本文由java快速入门栏目为大家介绍使用环形队列,希望可以帮助到大家。下文的代码例很详细的为大家展示了过程,对代码迷惑的同学可以仔细阅读思路分析。
    本文由java语言入门栏目为大家介绍从键盘接收文件路径,层级打印文件或文件夹名字,希望可以帮助到大家。
    本文为大家介绍了js属性去重校验重复据的方法,具有一定的参考价值,希望可以帮助到大家。方法:【obj[next.name]?''
    下面由java入门教程栏目为大家介绍队列的入队与出队,希望可以帮助到有需要的同学。
    java布局的方法是:1、首先继承【JFrame】类,且定义布局所需要的件;2、接着在构造函中创建且添加件;3、然后对窗体进行相关设置,标题、尺寸、位置等;4、最后设置显示窗体即可
    本文由java开发入门栏目为大家介绍java链表的增、删、查、改操作,希望可以帮助到有需要的同学。
    本文为大家例演示了向一维中追加元素,欢迎大家访问java零基础入门栏目。在向一维中追加新元素时,一般会先创建临时,然后添加新元素,最后将临时地址指针引用赋值给原
    table模块是layui框架最核心的成之一。它用于对表格进行一些列功能和动态化据操作,涵盖了日常业务所涉及的几乎全部需求。
    今的互联网,开发一个大型的人APP,你一定离不开据库。

    专题推荐

    推荐视频教程
  • 极客学院Java视频教程极客学院Java视频教程
  • JAVA 初级入门视频教程JAVA 初级入门视频教程
  • 全面解析Java注解全面解析Java注解
  • 最新Java完整视频教程最新Java完整视频教程
  • 视频教程分类