java - 打印相同数组的两种重载方法?
问题描述
我目前正在做以下练习:
- 创建一个用随机整数填充 [x] by [x] 数组的方法。(完毕)
- 创建两个用于打印数组的重载方法。一个打印加载的数组,另一个打印排序和加载的数组。
- 使用主要方法是:创建数组(完成) 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 是什么感到非常困惑。
解决方案
可以通过更改参数的类型、顺序或数量来覆盖方法。
我建议执行以下操作(更改参数数量):
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();
}
}
推荐阅读
- javascript - 反应式表单中的问题 - 类型“FormGroup”没有兼容的调用签名
- mysql - mysql连接表,匹配行数未知,动态转换为列
- point-cloud-library - 如何正确使用此功能“pcl::geometry::squaredDistance”
- machine-learning - CheXpert 数据集仍然过拟合图像分类
- c# - 获取不同进程的环境变量
- python - 如何在python烧瓶中模拟redis会话
- cassandra - 最新的 cassandra 是否仍然支持各个行具有不同的列?
- django - gmail 的电子邮件模板变量、图像 src 属性问题(在 Django 中)
- redis - 启用 Istio 后 GCP Memorystore Redis 连接被拒绝
- python - Pandas 基于定义列表填充缺失行