我得到了作業「拿兩個給定的數組(已經排序,例如{1,2,3})並創建一個包含兩個數組的新數組,然後將它們排序」,我們具有以下功能:升序排列,所以它不是問題,但它變得有點複雜,我,這裏是我的代碼:合併兩個數組和短合併數組
public static Scanner in = new Scanner(System.in);
public static void main(String[] args) {
int[] a = new int[3];
int[] b = new int[5];
Help_arr.scan(a);
Help_arr.scan(b);
Help_arr.print(peula(a, b));
}
public static int[] peula(int[] a1, int[] b1) {
int[] c = new int[a1.length + b1.length];
for (int i = 0; i < a1.length; i++)
c[i] = a1[i];
for (int i = a1.length; i < c.length; i++){
c[i] = b1[i];
}
Help_arr.sortup(c);
return c;
}
功能從Help_arr
類使用:
1)掃描陣列:
public static void scan(int[] arr1) {
for (int i = 0; i < arr1.length; i++) {
System.out.println("Enter number" + (i + 1));
arr1[i] = in.nextInt();
}
}
2)打印的陣列:
public static void print(int[] arr1) {
for (int i = 0; i < arr1.length; i++) {
System.out.print(arr1[i] + " ");
}
}
3)升序的數組:
public static void sortup(int[] arr1) {
int i, mini, temp, j;
for (j = 0; j < arr1.length; j++) {
mini = j;
for (i = j; i < arr1.length; i++) {
if (arr1[i] < arr1[mini])
mini = i;
}
temp = arr1[j];
arr1[j] = arr1[mini];
arr1[mini] = temp;
}
}
我在線路c[i]=b1[i];
陣列外出指數界得到一個錯誤,但我隨後的代碼和這將運行until i=7 as the c.length is 8
,這是可能的。但是,也許我失去了一些東西,這裏是錯誤:
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 5
at arrays.PgRonTargilMivhan.peula(PgRonTargilMivhan.java:21)
at arrays.PgRonTargilMivhan.main(PgRonTargilMivhan.java:13)
哦,你是對的:)謝謝! – DAVIDBALAS1
@ DAVIDBALAS1如果Atri解決了你的問題,請接受他的回答 –
@GregHilston我知道但我不能,它說沒有足夠的時間過去。 – DAVIDBALAS1