(航空訂票系統(tǒng))一家小型航空公司剛購(gòu)買(mǎi)一臺(tái)計(jì)算機(jī),用于其最新的自動(dòng)訂票系統(tǒng),要求編寫(xiě)新的程序,為該公司唯一一架飛機(jī)(運(yùn)量:10
)的每次飛行安排座位,程序應(yīng)當(dāng)顯示下列選項(xiàng):
Please type 1 for "smoking"(吸煙區(qū)請(qǐng)安1)
Please type 2 for "nonsmoking"(無(wú)煙區(qū)請(qǐng)安2)
如果某人按下1,那么程序應(yīng)當(dāng)在吸煙艙(1——5)為其分配一個(gè)座位。如果某人按下2,那么程序應(yīng)當(dāng)在無(wú)煙艙為其分配一個(gè)座位(6——10)。在
程序中應(yīng)打印出一張登記卡,以表明此人的座號(hào)以及他在飛機(jī)的吸煙艙還是無(wú)煙艙。用一個(gè)單下標(biāo)數(shù)組描述飛機(jī)的訂票情況,將所有的數(shù)組元素初始
化為0,表明所有座位都是空的。在分配一個(gè)座位后,設(shè)置數(shù)組的相應(yīng)元素為1,則該座位不能再分配,
程序中當(dāng)然不應(yīng)分配已分配的座位。當(dāng)吸煙艙客滿(mǎn)后程序應(yīng)當(dāng)詢(xún)問(wèn)此人是否接受安排的無(wú)煙區(qū),反之亦然。如果回答肯定,那么應(yīng)當(dāng)進(jìn)行適當(dāng)?shù)淖?/p>
安排。如果回答否定,那么打印消息“Next flight leaves in 3 hours.”(下次航班三小時(shí)后起飛)。
public class lian3 {
static int[] site = new int[10];
public static int xiyanqu(){
for (int i = 0; i < 5; i++) {
if (site[i] == 0) {
site[i] = 1;
System.out.println("您的座位號(hào)是:吸煙區(qū)" + (i + 1) + "號(hào)");
return (i+1);
}
}
return 0;
}
public static int wuyanqu(){
for (int j = 5; j < 10; j++) {
if (site[j] == 0) {
site[j] = 1;
System.out.println("您的座位號(hào)是:無(wú)煙區(qū)" + (j + 1) + "號(hào)");
return (j+1);
}
}
return 0;
}
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
while (true){
System.out.println("歡迎來(lái)到航空公司選票系統(tǒng)");
System.out.println("吸煙區(qū)請(qǐng)選1 ,無(wú)煙區(qū)請(qǐng)選2");
int choice = scanner.nextInt();
if (choice == 1) {
int sitenum = xiyanqu();
if (sitenum == 0){
System.out.println("吸煙區(qū)已滿(mǎn),是否接受無(wú)煙區(qū)");
String input = scanner.next();
if (input.equals("是")){
int siteno =wuyanqu();
if (siteno == 0){
System.out.println("飛機(jī)座位已滿(mǎn),下次航班三小時(shí)后起飛");
}
}
else {
System.out.println("下次航班三小時(shí)后起飛");
}
}
}
else {
int sitenum = wuyanqu();
if (sitenum == 0){
System.out.println("無(wú)煙區(qū)已滿(mǎn),是否接受吸煙區(qū)");
String input = scanner.next();
if (input.equals("是")){
int siteno =xiyanqu();
if (siteno == 0){
System.out.println("飛機(jī)座位已滿(mǎn),下次航班三小時(shí)后起飛");
}
}
else {
System.out.println("下次航班三小時(shí)后起飛");
}
}
}
}
}
}