输入矩阵的行和列···查找矩阵元素中是否有四个数是连续相同的(行列或斜线)

时间:2022-11-05 19:50:22

package jjj;
import java.util.Scanner;

public class lyt {

 
 public static void main(String[] args) {
  // TODO Auto-generated method stub
  Scanner input=new Scanner(System.in);
  int [][]Arr=new int[100][100];int n1,n2;
  System.out.print("请输入矩阵的行数和列数:");
     n1=input.nextInt();
  n2=input.nextInt();
        Input(Arr,n1,n2);
        if(Searchline(Arr,n1,n2)==true)
             System.out.print(Searchline(Arr,n1,n2));
        else if(Searchrow(Arr,n1,n2)==true)
              System.out.print(Searchrow(Arr,n1,n2));
        else if(SearchSlash(Arr,n1,n2)==true)
         System.out.print(SearchSlash(Arr,n1,n2));
        else
         System.out.print("false");
      
 }
static void Input(int [][]Arr,int n1,int n2)
 {
 Scanner input=new Scanner(System.in);
  for(int i=0;i
   for(int j=0;j
    Arr[i][j]=input.nextInt();
 }
static boolean Searchline(int [][]Arr,int n1,int n2)
{
 for(int i=0;i
  for(int j=0;j
   if(Arr[i][j+0]==Arr[i][j+1]&&Arr[i][j+0]==Arr[i][j+2]&&Arr[i][j+0]==Arr[i][j+3])
            return true;
 return false;
}
static boolean Searchrow(int [][]Arr,int n1,int n2)
{
 for(int i=0;i
  for(int j=0;j
   if(Arr[j][i]==Arr[j+1][i]&&Arr[j][i]==Arr[j+2][i]&&Arr[j][i]==Arr[j+3][i])
            return true;
 return false;
}

static boolean SearchSlash(int [][]Arr,int n1,int n2)
{
 for(int i=0;i
 {
  for(int j=0;j
   if(Arr[i][j]==Arr[i+1][j+1]&&Arr[i][j]==Arr[i+2][j+2]&&Arr[i][j]==Arr[i+3][j+3])
        return true;
 }
 for(int i=3;i
 {
  for(int j=0;j
   if(Arr[i][j]==Arr[i-1][j+1]&&Arr[i][j]==Arr[i-2][j+2]&&Arr[i][j]==Arr[i-3][j+3])
        return true;
 }
 return false;
}
}