這個應該不難,定義一個行列的坐標系,用來標識每個座位,如果有座位的就標位1,沒有座位的就標位0,如果此座位票已售出,就設為99(或者其他也行),至于移動,刪除等其實就是改變整個坐標系的差氏值了,然后通過圖形方式顯示出來,移動呀,刪除呀什么的操作可以通過拖動等來實現(xiàn),考慮到電影院中實際的前排虛嘩散與后排座位是有一定蘆輪的錯開的,所以在繪制的時候,要考慮這個錯開距離,這樣就美觀了。
網站建設哪家好,找創(chuàng)新互聯(lián)公司!專注于網頁設計、網站建設、微信開發(fā)、小程序開發(fā)、集團企業(yè)網站建設等服務項目。為回饋新老客戶創(chuàng)新互聯(lián)還提供了新榮免費建站歡迎大家使用!
import?java.util.Scanner;
/**
*?
*?@author?12052010
*?@Date?December?05,2014
*
*/
public?class?Film?{
public?static?void?main(String[]?args){
Scanner?input?=?new?Scanner(System.in);
int?[][]?num?=?new?int[2][10];
int?fg1,fg2;//標志顧客選擇?的座位螞哪團fg1:排數(shù)?fg2:列數(shù)
for(int?i=0;inum.length;i++){
for(int?j=0;jnum[i].length;j++)
num[i][j]=0;//賦初值,所有座位沒有被預定
}
randomBook(num);
System.out.print("\n-----------電影院座位訂票情況(0:還沒被預定?1:?已經被預定)------------");
for(int?i=0;inum.length;i++){
System.out.println("");
for(int?j=0;jnum[i].length;j++)
System.out.print("??"+num[i][j]);
}
/**
?*?緩納顧客輸進的排數(shù)必須符合0?or?1
?*/
do{
System.out.print("\nInput?fg1:?");
fg1=input.nextInt();
}?while(fg10||fg12);
/**
?*?顧客輸進的列數(shù)必須符合?0-9
?*/
do{
System.out.print("Input?fg2:?");
fg2=input.nextInt();
}?while(fg20||fg29);
if(num[fg1][fg2]==1){
System.out.print("\n已經被人訂了,不好意思");
}else{
System.out.print("\n你要訂的座位是:?"+?fg1+"排??"+?fg2+"列,?票價:");
if(fg1==1)
System.out.print("10000文");
else
System.out.print("20000文");
}
}
/**
?*?隨即設置電影院的悶橘座位被預定
?*/
public?static?void??randomBook(int[][]?num){
for(int?i=0;inum.length;i++){
for(int?j=0;jnum[i].length;j++){
//隨機設置
num[i][j]=(int)(Math.random()*2);
}
}
}
}
給你寫個簡單的例子?并沒有對參數(shù)做驗證明野?理解下數(shù)組的用法夠用了
真實的選座比例子復雜的多,包括同步等方面知識
public?class?Main?{
public?static?void?main(String[]?args)?{
//你描述不夠清晰,我就假設?電影院?6排?每排8座
//座位數(shù)
int?num?=?48;
段缺??int[]?arr?=?new?int[num];
Main?obj?=?new?Main();
//調用選座方法
obj.selection(arr,1,1);
//同一個位置調用2次驗證一下
obj.selection(arr,1,1);
}
/**
*
*?@param?arr?座位表
*?@param?x?排
*?@param?y?位
*/
public?void?selection(int[]?arr,?int?x,?int?y)?{
int?index?=?(x?-?1)?*?6?+?y?-?1;
握槐辯????if?(arr[index]?==?0)?{
//對應位置的元素設置為1,表示有人
arr[index]?=?1;
System.out.println("選座成功:"?+?"第"?+?x?+?"排,第"?+?y?+?"座?");
}?else?{
System.out.println("第"?+?x?+?"排,第"?+?y?+?"座?已經被人選啦");
}
}
}