What is wrong in this code?

package arrays;

import java.util.Scanner;

public class matrixsearch {

public static void main(String[] args) {
	Scanner scn=new Scanner(System.in);
	int row = scn.nextInt();
	int col = scn.nextInt();
	int[][] arr = new int[row][col];
	for (int i = 0; i < row; i++) {

		for (int j = 0; j < col; j++) {
			arr[i][j] = scn.nextInt();
		}

	}
	int item=scn.nextInt();
	int ans=Search(arr,item);
	System.out.println(ans);
	

}
public static int  Search(int [][] arr, int item) {
	for (int i=0;i<arr.length;i++) {
		for(int j=0;j<arr[i].length;j++) {
			if (arr[i][j]==item) {
				return 1;
			}
			else {
				return 0;
			}
		}
	}
	return arr;
	
}

}

Hey @harsh.hj
fun return type is int
return Integer value
correct code :
import java.util.Scanner;

public class Main {
public static void main(String[] args) {
Scanner scn = new Scanner(System.in);
int row = scn.nextInt();
int col = scn.nextInt();
int[][] arr = new int[row][col];
for (int i = 0; i < row; i++) {
for (int j = 0; j < col; j++) {
arr[i][j] = scn.nextInt();
}
}
int item = scn.nextInt();
int ans = Search(arr, item);
System.out.println(ans);
}

public static int Search(int[][] arr, int item) {
	for (int i = 0; i < arr.length; i++) {
		for (int j = 0; j < arr[i].length; j++) {
			if (arr[i][j] == item) {
				return 1;
			} 
		}
	}
	return 0;
}

}