Java 排序矩阵中的二进制搜索

Java 排序矩阵中的二进制搜索,java,binary-search,intellij-15,Java,Binary Search,Intellij 15,我试图用IntelliJ实现测试用例; 但是,输出结果是“[I@65b54208“,我不明白为什么这是我的结果,如何在矩阵中以整数形式显示我的结果 public class SearchMatrix { public static void main(String[] args) { int matrix[][]={{0,1,3},{4,5,6},{7,8,9}}; SearchMatrix s = new SearchMatrix();

我试图用IntelliJ实现测试用例; 但是,输出结果是“
[I@65b54208
“,我不明白为什么这是我的结果,如何在矩阵中以整数形式显示我的结果

public class SearchMatrix {
    public static void main(String[] args) {
        int matrix[][]={{0,1,3},{4,5,6},{7,8,9}};
        SearchMatrix s = new SearchMatrix();
        System.out.println(s.Binary(matrix,3));
    }
    public int[] Binary(int[][] matrix, int target){
        int r= matrix.length;
        int c= matrix[0].length;
        int left=0;
        int right=r*c-1;
        while (left<=right){
            int mid=left+(right-left)/2;
            int row=mid/c;
            int col=mid%c;
            if (matrix[row][col]<target){
                left= mid+1;
            } else if (matrix[row][col]>target){
                right= mid-1;
            } else{
                return new int[] {row,col};
            }
        }
        return new int[] {-1,-1};
    }
}
公共类搜索矩阵{
公共静态void main(字符串[]args){
int矩阵[][]={{0,1,3},{4,5,6},{7,8,9};
SearchMatrix s=新的SearchMatrix();
System.out.println(s.Binary(matrix,3));
}
公共int[]二进制(int[][]矩阵,int目标){
int r=矩阵长度;
int c=矩阵[0]。长度;
int左=0;
int right=r*c-1;

while(left您不能仅将数组作为基本变量打印。打印数组只会输出数组的哈希代码(而不是您希望的内容)。或者通过单独的语句打印每个元素

int[] result = s.Binary(matrix,3);

System.out.println(result[0]);
System.out.println(result[1]);
或者使用内置函数从
java.util.Arrays
包打印数组的内容

 System.out.println(Arrays.toString(s.Binary(matrix, 3)));