2014-02-10 53 views
0

我的代碼被設計爲按順序打印數組,然後按相反順序打印數組。但是,我也必須在編寫方法時至少使用以下方法標題:以反向陣列打印值

public static int printOriginalArray(int[] list) 
public static int printInReverse(int[] list) 

我得到了代碼運行!我現在得到它!它只是點擊!是!!! :-)現在我的方法不正確,但正確嗎?我應該有2個方法,而不是1,我需要重寫它,所以它反轉了數字,而不是交換。

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

     int[] numbers = {4, 5, 6, 7}; 
     System.out.println("The list in order is: "); 

     for (int num: numbers) 
     System.out.println(num + " "); 

     swap(numbers, 0, 3); 

     for (int num: numbers) 
     System.out.println(num + " "); 





    } 

    public static void swap(int[] arr, int i, int j) { 
     int temp = arr[i]; 
     arr [i] = arr [j]; 
     arr [j] = temp; 
    } 

    } 
+6

你在'main'方法中沒有做任何事情,所以當然不會發生任何事情。 –

+0

你不主要調用該方法。 –

+0

這就是我很困惑的事情。我如何實現主要方法並在其中使用其他方法? – user3294617

回答

1

首先,所有的方法都需要在某個類中聲明。在這裏,您的swap方法正在Assignment01a類中聲明。此外,還有一些靜態方法,這些方法通過public關鍵字之後的static關鍵字聲明(與您的swap方法相同)。可以直接從main()(從「靜態上下文」)調用靜態方法。然而,非靜態方法需要在對象實例上調用。這些是沒有關鍵字static的方法,可以將它們視爲屬於特定對象。

0

好的,現在我按照你想要的方式糾正它。由於你的方法是聲明的,所以它們返回int值,我認爲它是用於錯誤檢查的。如果方法返回任何東西,但0程序會讓你知道出了什麼問題。它看起來像這樣:

public class Assignment01a { 

    public static void main (String[] args) { 

     int[] numbers = {4, 5, 6, 7}; 

     if (printOriginalArray(numbers) != 0) 
      System.out.println("ERROR!"); 

     if (printInReverse(numbers) != 0) 
      System.out.println("ERROR!"); 

     System.out.println("\nProgram completed successfully!"); 

    } 

    public static int printOriginalArray(int[] list) { 

     System.out.println("The list in order is: "); 

     for (int num: list) 
     System.out.print(num + " "); 

     return 0; 

    } 

    public static int printInReverse(int[] list) { 

     System.out.println("\nThe list in reverse order is:"); 

     for (int i = list.length-1; i >= 0; i--) { 
      System.out.print(list[i] + " "); 
     } 

     return 0; 

    } 

} 

我希望澄清你的問題,如果您有任何其他問題隨時問。

+0

是的,這絕對有幫助!難道現在很難將原始數組作爲一個單獨的方法來實現,所以程序對於原始數組有1個方法,而對於原始數組有1個方法?非常感謝youuu soo! – user3294617

+0

不,不會,我會按我的方式編輯我的評論,如果我有任何問題,請糾正我。 – msmolcic