家人们,帮忙看看这个铺地毯的题用java为什么报错吧
import java.util.Scanner;
class Main{
public static void main(String []args){
Scanner scan = new Scanner(System.in);
int n = scan.nextInt();
Carpet[]carpet = new Carpet[n];
for(int i = 0;i < n;i++){
carpet[i] = new Carpet();
}
int max_all_x = 0,max_all_y = 0;
for(int i = 0;i < n;i++){
if(carpet[i].max_x>max_all_x){
max_all_x = carpet[i].max_x;
}
if(carpet[i].max_y>max_all_y){
max_all_y = carpet[i].max_y;
}
}
int [][]table = new int[max_all_x][max_all_y];
for(int i = 0;i < n;i++){
for(int j = carpet[i].x;j < carpet[i].max_x;j++){
for(int k = carpet[i].y;k < carpet[i].max_y;k++){
table[j][k] = i+1;
}
}
}
try {
int p = scan.nextInt();
int q = scan.nextInt();
if(table[p][q] == 0){
System.out.print(-1);
}else{
System.out.print(table[p][q]);
}
}catch(Exception e) {
System.out.println(-1);
}
}
}
class Carpet{
int x,y,a,b;
int max_x,max_y;
Scanner scan = new Scanner(System.in);
Carpet(){
x = scan.nextInt();
y = scan.nextInt();
a = scan.nextInt();
b = scan.nextInt();
max_x = x+a;
max_y = y+b;
}
}