這期內容當中小編將會給大家帶來有關如何實現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多數組合并了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關知識,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。