以反向方式打印数组中的值

时间:2014-02-10 20:42:09

标签: java arrays methods logic

我的代码用于按顺序打印数组,然后按顺序打印。但是,我还必须在编写方法时至少使用以下方法标题:

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;
    }
}

2 个答案:

答案 0 :(得分:1)

首先,所有方法都需要在某个类中声明。在这里,您的swap方法正在Assignment01a类中声明。此外,还有静态方法,通过在static关键字之后使用public关键字来声明(就像您的swap方法一样)。可以直接从main()(从“静态上下文”)调用静态方法。但是,需要在对象实例上调用非静态方法。这些是没有static关键字的方法,可以认为它们属于特定对象。

答案 1 :(得分: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;

    }

}

如果您有任何其他问题可以随意提出,我希望澄清您的问题。