对于体育场预订和票务的Java应用程序,我想计划在体育场内的个人座位。因此,当以图形方式显示时,可以选择并预订等等。
我想过了一个'座位'对象的多维数组。这些将包含有关座位的数据,例如类别,位置,可用性(已预订)等。例如:
Seat[][]
因此,在选择体育场中的哪个区块后,然后导航到[5] [8]的行和列的座位。我可以对此进行迭代以显示布局并显示可用座位或已售出等等。
首先,使用数组实现这一目标的理想方法是什么?我需要基本的东西,改变数组中的对象并迭代。
其次,如何以一种非常不同的方式实现这一点,因此多个客户端可以修改数据。有了客户数据,我有一个SQL数据库,做多个客户端都可以使用系统,而不是保存本地文件。 我正在努力想办法用SQL代表这样的座位。
问题是我不确定如何构建一个SQL表来达到这个效果。我可以使用数组,但这并没有填满我想要的全部功能。
答案 0 :(得分:0)
这个问题有点令人困惑,因为你没有确切地指明这个数组内部的对象。我假设你的意思是Seat
个对象的多维数组。如果没有,请将Seat
替换为您放置的任何对象。
对于多维数组的席位,您有两个主要选项:第一个也是最简单的选择,是查找最长行的长度,并将数组的长度定义为该大小。当然,有了这个设置,阵列中会有一些没有座位的地方。您只需使用null
填充所有不存在的座位位置。
第二种可能更好的方法是创建锯齿状数组。您当然应该事先知道每行的长度,以便创建适当数量的列。 jagged array每行的列数不同。您的代码看起来像这样:
int numRows=//Number of rows in stadium
int[] numCol=//Number of columns in each row
Seat[][] stadium = new Seat[numRows][]; //Defines stadium without specifying # of columns
for(int i=0; i<stadium.length; i++)
{
stadium[i]=new Seat[numCol[i]]; //Creates each row with correct number of columns
}
当然,修改此代码以在您自己的程序中工作。请记住,遍历stadium
将要求您检查每行的长度。
当要让多个客户编辑它时,您必须更具体地回答您的问题。您可以让Java程序访问SQL表中的值,并将它们分配给多维数组中的值。如果你不能这样做,那么你可以运行java程序并将accept arguments分配给数组中的值。但是,要获得更具体的答案,您需要提出更具体的问题。
祝你好运!