【发布时间】:2019-02-01 10:45:11
【问题描述】:
我不确定代码是否有问题,因为每当我尝试手动运行它时,它都能正常工作。有什么想法可以解决吗?
-
这是我的方法
public static int[][] mystry2d(int[][] a){ for(int r = 0; r<a.length; r++){ for(int c=0; c<a.length-1;c++){ if(a[r][c+1] > a[r][c]){ a[r][c] = a[r][c+1] ; } } } return a ; } -
我的打印方法
public static void printArray(int[][] arr){ 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(); } }
3.输入和预期输出
**input:** int[][] numbers= {{3,4,5,6},{4,5,6,7},{5,6,7,8}};
**output:** 4 5 6 6
5 6 7 7
6 7 8 8
4.运行代码时的输出
4 5 5 6
5 6 6 7
6 7 7 8
【问题讨论】:
-
我有点惊讶于代码甚至可以构建。你说
mystry2d应该返回一个int[][],但实际上你并没有返回任何东西。 -
另外请阅读how to ask good questions,以及this question checklist。最后请学习如何创建一个minimal reproducible example 向我们展示。您如何使用您展示的功能?您最初是如何初始化数组的?
-
预期输出背后的逻辑是什么?它总是应该跳过第一个元素吗?
-
你调试
mystry2d了吗?它应该做什么? -
public static void main(String [] args){ int[][] numbers= {{3,4,5,6},{4,5,6,7},{5, 6,7,8}}; int[][] a = mystry2d(数字);打印数组(一); }