Arrays 如何首先将用户分配到数组的中心元素?按此顺序分配座位,3C、3B、3A、3E

Arrays 如何首先将用户分配到数组的中心元素?按此顺序分配座位,3C、3B、3A、3E,arrays,Arrays,如果我有一个2d锯齿阵列,设置为代表剧院中的座位。如何将用户分配到他们所选行中间的第一个空座位。例如,如果我选择第3排,可用的座位是3A、3B、3C、3E。我想给自己分配3C,因为这是第一个朝向中心的空座位 String[][] theater = {{"1A"}, {"2A", "2B", "Tom"}, {"3A", "3B", "3C", "Ben", "3E"}, {"4A", "4B", "4C", "4D", "4E", "4F", "4G"},

如果我有一个2d锯齿阵列,设置为代表剧院中的座位。如何将用户分配到他们所选行中间的第一个空座位。例如,如果我选择第3排,可用的座位是3A、3B、3C、3E。我想给自己分配3C,因为这是第一个朝向中心的空座位

String[][] theater = {{"1A"}, {"2A", "2B", "Tom"},
       {"3A", "3B", "3C", "Ben", "3E"},
       {"4A", "4B", "4C", "4D", "4E", "4F", "4G"},
       {"Rachel", "Ella", "5C", "5D", "5E", "Sam", "5G", "5H", "5I"}
    };
//This is the jagged 2d array.
我得到一个错误,分配从左边开始的第一个空座位,例如3A,而不是3C。

int mid=Math.ceil(arr[row].length/2);
int mid = Math.ceil(arr[row].length/2);
boolean flag=false;

if(isAvailable(theater[row][mid])
{ 
     allocate(theater[row][mid-i]);
     flag=true; 
}

for(int i=1; i<mid && !flag; i++)
{
   if(isAvailable(theater[row][mid-i])
   { 
     allocate(theater[row][mid-i]);
     flag=true; 
     break;
   }
   else(isAvailable(theater[row][mid+i])
   {
     allocate(theater[row][mid-i]); 
     flag=true;
     break;
   }
}

if(!flag)
{
  System.out.println("No Seats are available in the given row");
}
布尔标志=假; 如果(可用(剧院[世界其他地区][中部]) { 分配(剧院[世界其他地区][mid-i]); flag=true; } for(inti=1;i
intmid=Math.ceil(arr[row].length/2);
布尔标志=假;
如果(可用(剧院[世界其他地区][中部])
{ 
分配(剧院[世界其他地区][mid-i]);
flag=true;
}
对于(int i=1;i