Por exemplo:
int[][] m = { {1,2,3},{4,5,6},{7,8,9}} e int[] x = {4,5,6}
A matriz m contem na linha 1 o array x.Eu gostava de verificar por linhas, mas dá me sempre true.
Eu pensei se na 1 linha, o 1 numero for igual continua a procurar na mesma linha, senao iamos para a linha seguinte.
se o tamanho dela é diferente do tamanho de x, pode ir pra próxima linha
percorra os elementos da linha, comparando com o respectivo elemento de x, se encontrar um elemento diferente, nem precisa ver o resto, pode ir pra próxima linha
se todos os elementos da linha são iguais aos de x, retorne true
Por fim, se verificou todas as linhas e não achou nenhuma igual a x, retorne false.
Ou seja:
publicstaticbooleancontem(int[][]m,int[]x){for(int[]linha:m){// se os tamanhos são diferentes, vai pra próxima linhaif(linha.length!=x.length)continue;inti;for(i=0;i<x.length;i++){// se achou um diferente, nem adianta continuar, pode sair desse forif(linha[i]!=x[i])break;}// se o for foi até o fim, é porque todos são iguaisif(i==x.length)returntrue;}// se chegou aqui é porque não achou uma linha igual a xreturnfalse;}
Mas claro que isso é só se você quiser fazer na mão, pois para comparar dois arrays, já tem isso pronto, na classe java.util.Arrays:
publicstaticbooleancontem(int[][]m,int[]x){for(int[]linha:m){// se achou uma linha igual, já pode retornarif(Arrays.equals(linha,x))returntrue;}// se chegou aqui é porque não achou uma linha igual a xreturnfalse;}