初学Java, 在写在线电影购票,想问下 怎么实现买票选座位的功能?

初学Java, 在写在线电影购票,想问下 怎么实现买票选座位的功能?,第1张

这个应该不难,定义一个行列的坐标系,用来标识每个座位,如果有座位的就标位1,没有座位的就标位0,如果此座位票已售出,就设为99(或者其他也行),至于移动,删除等其实就是改变整个坐标系的值了,然后通过图形方式显示出来,移动呀,删除呀什么的 *** 作可以通过拖动等来实现,考虑到电影院中实际的前排与后排座位是有一定的错开的,所以在绘制的时候,要考虑这个错开距离,这样就美观了。

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:排数 fg2:列数

for(int i=0i<num.lengthi++){

for(int j=0j<num[i].lengthj++)

num[i][j]=0//赋初值,所有座位没有被预定

}

randomBook(num)

System.out.print("\n-----------电影院座位订票情况(0:还没被预定 1: 已经被预定)------------")

for(int i=0i<num.lengthi++){

System.out.println("")

for(int j=0j<num[i].lengthj++)

System.out.print("  "+num[i][j])

}

/**

 * 顾客输进的排数必须符合0 or 1

 */

do{

System.out.print("\nInput fg1: ")

fg1=input.nextInt()

} while(fg1<0||fg1>2)

/**

 * 顾客输进的列数必须符合 0-9

 */

do{

System.out.print("Input fg2: ")

fg2=input.nextInt()

} while(fg2<0||fg2>9)

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=0i<num.lengthi++){

for(int j=0j<num[i].lengthj++){

//随机设置

num[i][j]=(int)(Math.random()*2)

}

}

}

}

import java.util.*

public class a {

public static void main(String[] args) {

int i

char c

String[] a = {"座位1","座位2","座位3","座位4","座位5"}

/*生成座位list*/

List<String>seat = new ArrayList<String>()

/*向其中添加座位*/

for(i = 0i <5i++){

seat.add(a[i])

}

/*调用函数,将顺序打乱*/

Collections.shuffle(seat)

/*显示结果*/

for(i = 0,c = 'a'c <= 'e'c++,i++){

System.out.println("学生"+c+"坐在"+seat.get(i))

}

}

}

有问题追问我


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/10648788.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-10
下一篇 2023-05-10

发表评论

登录后才能评论

评论列表(0条)

保存