首页 > 解决方案 > 打印相同数组的两种重载方法?

问题描述

我目前正在做以下练习:

  1. 创建一个用随机整数填充 [x] by [x] 数组的方法。(完毕)
  2. 创建两个用于打印数组的重载方法。一个打印加载的数组,另一个打印排序和加载的数组。
  3. 使用主要方法是:创建数组(完成) b. 调用加载数组的方法(完成) c.调用方法来打印数组(完成) d. 调用方法打印排序后的数组(完成)

我无法弄清楚如何创建一个重载方法来一次打印一个加载的数组和一个排序的数组,所以我可能很困惑,但我希望能得到任何帮助来破译这个问题。

我在过去 3 小时内对此进行了研究,30 分钟用于创建代码并完成整个练习,除了过去 2.5 小时尝试执行指令 #2。

// method to print the loaded array
public static void printarray(int [][] arr)
{
  System.out.println("Loaded Array \n");
    for(int i = 0; i < arr.length; i++){
    for(int j = 0; j < arr[i].length; j++){
        System.out.print(arr[i][j] +  " ");
    }
    System.out.println();
    }

}
// method to print the sorted array
   public static void printarraySorted(int [] [] arr)
{
  System.out.println("Loaded and Sorted Array \n");
   for(int i = 0; i < arr.length; i++){
   for(int j = 0; j < arr[i].length; j++){
       Arrays.sort(arr[i]);
       System.out.print(arr[i][j] +  " ");
   }
  System.out.println();
   }
}

我得到了相同的输出,但仍然对指令号 2 是什么感到非常困惑。

标签: javaarrays

解决方案


可以通过更改参数的类型、顺序或数量来覆盖方法。

我建议执行以下操作(更改参数数量):

  public static void main(String[] args) {
    int[][] arr = new int[3][3];
    printArray(arr);
    printArray(arr, true);
  }

  // method to print the loaded array
  public static void printArray(int[][] arr) {
    printArray(arr, false);
  }

  // method to print the sorted array
  public static void printArray(int[][] arr, boolean sort) {
    System.out.println("Loaded and Sorted Array \n");
    for (int i = 0; i < arr.length; i++) {
      if (sort) {
        Arrays.sort(arr[i]);
      }
      for (int j = 0; j < arr[i].length; j++) {
        System.out.print(arr[i][j] + " ");
      }
      System.out.println();
    }
  }

推荐阅读