
正文
座位选座的java代码 座位选座的java代码是什么
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
如何解释用java写的影院选座的原理,尽可能详细
给你写个简单的例子 并没有对参数做验证 理解下数组的用法够用了
真实的选座比例子复杂的多,包括同步等方面知识
public class Main {
public static void main(String[] args) {
//你描述不够清晰,我就假设 电影院 6排 每排8座
//座位数
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 + "座 已经被人选啦");
}
}
}
相关问答
Q1: 用java写个简单的电影院座位预约,10个座位2行。前面的座位10000文,后面的20000文,
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=0;inum.length;i++){
for(int j=0;jnum[i].length;j++)
num[i][j]=0;//赋初值座位选座的java代码,所有座位没有被预定
}
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]);
}
/**
* 顾客输进的排数必须符合0 or 1
*/
do{
System.out.print("\nInput fg1: ");
fg1=input.nextInt();
} while(fg10||fg12);
/**
* 顾客输进的列数必须符合 0-9
*/
do{
System.out.print("Input fg2: ");
fg2=input.nextInt();
} while(fg20||fg29);
if(num[fg1][fg2]==1){
System.out.print("\n已经被人订了座位选座的java代码,不好意思");
}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);
}
}
}
}
Q2: java随机分配!比如有五个座位a, b, c ,d ,e,有五个学生1,2,3,4,5 把学生分配到座位上不能有重复!求代码
import java.util.*;
public class a {
public static void main(String[] args) {
int i;
char c;
String[] a = {"座位1","座位2","座位3","座位4","座位5"};
/*生成座位list*/
ListString seat = new ArrayListString();
/*向其中添加座位*/
for(i = 0;i 5;i++){
seat.add(a[i]);
}
/*调用函数,将顺序打乱*/
Collections.shuffle(seat);
/*显示结果*/
for(i = 0,c = 'a'; c = 'e';c++,i++){
System.out.println("学生"+c+"坐在"+seat.get(i));
}
}
}
有问题追问我
Q3: 在java中请应用学过的知识,使用面向对象的思想实现影院选座功能,要求打印出座位图
你跟我刚才回答的那个问题是同学吧,我刚贴出来。下次提问之前可以先搜一下
---------------分割线---下面是代码,纯手打-----------------
//自己没有验证没有测试,可能会有错误,你自己看着改一下
public static void main(String[] args) {
Scanner s = new Scanner(System.in);
HashMapString, ArrayList seat=new HashMap();
int row;
int column;
//创建座位
for(int i=1;i11;i++) {
ArrayList desk=new ArrayList();
for(int ii=0;ii8;ii++) {
desk.add("0");
}
seat.put("第"+i+"排", desk);
}
//开始选座
for(;;) {
System.out.println("========开始选票===========");
//循环输出座位
for(int i=1;iseat.size();i++) {
System.out.print("第"+i+"排"+" ");
for(int ii=0;iseat.get("第"+i+"排").size();) {
System.out.print(seat.get("第"+i+"排").get(ii));
}
}
//开始选座
for(;;) {
System.out.println("选择排数");
row=s.nextInt();
System.out.println("选择第几个,只有0可以选,x是已经被选了");
column=s.nextInt();
if(seat.get("第"+row+"排").get(column).equals("0")) {
seat.get("第"+row+"排").set(column, "X");
System.out.println("选座成功,您的座位是:第"+row+"排,第"+column+"列");
break;
}
}
}
}
座位选座的java代码的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于座位选座的java代码是什么、座位选座的java代码的信息别忘了在本站进行查找喔。






