2014-10-30 43 views
0

Hellp球員。在方法中加入數組並返回

我試圖做下面的例子。

這個程序做的是,它在merge-method中加入和排序兩個列表,並將它返回給main方法。

但是我試圖在我的方法內工作時遇到問題!

- >合併(INT [],INT)在Exercise07_31不能被應用到(INT [],INT []) - > Exercise07_31.java:62:整數不能解除引用

和一個一堆更多的錯誤...

我似乎不知道錯誤發生在哪裏,它應該真的是我忘了一件小事。不是數組整數,如果是的話,我如何轉換它們並正確使用它們?

任何人都可以幫我嗎?謝謝!

import java.util.*; 

public class Exercise07_31 
{ 
    public static void main(String[] args) 
    { 

    Scanner input = new Scanner(System.in); 

    //Prompt for user input list 1: 

    System.out.print("Enter list1: "); 
    int a1 = input.nextInt(); 

    //Set array: 
    int[] list1 = new int[a1]; 

    //Prompt for array input: 
    for (int k = 0; k < a1; k++) 
    { 
    list1[k] = input.nextInt();;  
    } 

    //Prompt for user input list 2: 

    System.out.print("Enter list2: "); 
    int a2 = input.nextInt(); 

    //Set array 
    int[] list2 = new int[a2]; 

    //Prompt for array input 
    for (int j = 0; j < a2; j++) 
    { 
    list2[j] = input.nextInt();;  
    }  

    System.out.println("The merged list is "); 

    for (int l = 0; l < a3; l++) 
    { 
    System.out.print(merge(list1, list2) + ", "); 
    } 

} 

public static int[] merge(int[] list1, int list2) 

{ 

    int a3 = list1.length + list2.length; 

    //Creating array for join: 
    int[] list3 = new int[a3]; 

    //join the lists to list3 

    for (int s = 0; s < list1.length; s++) 
    { 
    list3[s] = list1[s]; 
    } 
    for (int h = 0; h < list2.length; h++) 
    { 
    list3[list1.length + h] = list2[h]; 
    } 


    //Sort the lists: 


    int temp = 0; 
    for (int j = 0; j < list3.length; j++) 
    { 

    for (int k = 0; k < list3.length - 1; k++) 
    { 
     if(list3[k + 1] < list3[k]) 
     { 
     temp = list3[k]; 
     list3[k] = list3[k + 1]; 
     list3[k + 1] = temp; 
     } 
    } 
    } 
    return list3; 
} 
} 
+0

更改合併(INT [],int)以合併(INT [],INT []) – g7k 2014-10-30 23:48:21

回答

0
merge(int[] list1, int list2) 

接受一個數組作爲它的第一個參數(int[])和單個int作爲第二。你想讓它接受兩個數組,所以它的簽名必須

merge(int[] list1, int[] list2) 
+0

無論如何,有沒有加入一個更簡單的方法兩個數組而不是for循環? – Avacay 2014-10-30 23:49:36

+0

@Avacay本質上沒有:http://stackoverflow.com/questions/80476/how-to-concatenate-two-arrays-in-java – zapl 2014-10-30 23:51:25

+0

@zapl我明白了!謝謝你的回覆.. 那麼現在,我糾正了我的代碼,它編譯得很好! 但是我的println似乎是矩陣格式:(這是什麼意思? – Avacay 2014-10-30 23:53:48