铺地毯java出错,求解答
查看原帖
铺地毯java出错,求解答
675756
Study_Lu楼主2022/2/3 23:38

家人们,帮忙看看这个铺地毯的题用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;
    }
}
2022/2/3 23:38
加载中...