你跟我剛才回答的那個問題是同學(xué)吧,我剛貼出來。下次提問之前可以先搜一下
創(chuàng)新互聯(lián)2013年至今,先為江城等服務(wù)建站,江城等地企業(yè),進(jìn)行企業(yè)商務(wù)咨詢服務(wù)。為江城企業(yè)網(wǎng)站制作PC+手機(jī)+微官網(wǎng)三網(wǎng)同步一站式服務(wù)解決您的所有建站問題。
---------------分割線---下面是代碼,純手打-----------------
//自己沒有驗(yàn)證沒有測試,可能會有錯誤,你自己看著改一下
public static void main(String[] args) {
Scanner s = new Scanner(System.in);
HashMapString, ArrayList seat=new HashMap();
int row;
int column;
//創(chuàng)建座位
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("========開始選票===========");
//循環(huán)輸出座位
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("選擇排數(shù)");
row=s.nextInt();
System.out.println("選擇第幾個,只有0可以選,x是已經(jīng)被選了");
column=s.nextInt();
if(seat.get("第"+row+"排").get(column).equals("0")) {
seat.get("第"+row+"排").set(column, "X");
System.out.println("選座成功,您的座位是:第"+row+"排,第"+column+"列");
break;
}
}
}
}
給你寫個簡單的例子?并沒有對參數(shù)做驗(yàn)證?理解下數(shù)組的用法夠用了
真實(shí)的選座比例子復(fù)雜的多,包括同步等方面知識
public?class?Main?{
public?static?void?main(String[]?args)?{
//你描述不夠清晰,我就假設(shè)?電影院?6排?每排8座
//座位數(shù)
int?num?=?48;
int[]?arr?=?new?int[num];
Main?obj?=?new?Main();
//調(diào)用選座方法
obj.selection(arr,1,1);
//同一個位置調(diào)用2次驗(yàn)證一下
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)?{
//對應(yīng)位置的元素設(shè)置為1,表示有人
arr[index]?=?1;
System.out.println("選座成功:"?+?"第"?+?x?+?"排,第"?+?y?+?"座?");
}?else?{
System.out.println("第"?+?x?+?"排,第"?+?y?+?"座?已經(jīng)被人選啦");
}
}
}
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]);
}
/*調(diào)用函數(shù),將順序打亂*/
Collections.shuffle(seat);
/*顯示結(jié)果*/
for(i = 0,c = 'a'; c = 'e';c++,i++){
System.out.println("學(xué)生"+c+"坐在"+seat.get(i));
}
}
}
有問題追問我
import?java.io.File;
import?java.io.FileNotFoundException;
import?java.util.Arrays;
import?java.util.Scanner;
public?class?Kyo
{
private?static?final?String?TXT?=?"booking.txt";
private?static?final?String?LINE?=?System.getProperty("line.separator");
private?static?String?readLine(int?line,?int?count,?String?file)
{
try
{
Scanner?scan?=?new?Scanner(new?File(file));
scan.skip("([^"?+?LINE?+?"]+["?+?LINE?+?"]+)"?+?"{"?+?(line?+?1)?+?"}");
String?result?=?"";
while(count??0??scan.hasNextLine())
{
result?+=?scan.nextLine().trim();
if(count??1)
{
result?+=?LINE;
}
count--;
}
scan.close();
return?result;
}
catch(FileNotFoundException?e)
{
e.printStackTrace();
}
return?"";
}
private?static?void?setBestSeat(String[]?seat,?String?tag,?String?members,?int?num)
{
int[]?seats?=?new?int[0];
int[]?indexs?=?new?int[0];
for(int?i?=?0;?i??seat.length;?i++)
{
String?s?=?seat[i];
boolean?isExisted?=?s.contains(tag);
if(s.contains(tag))
{
for(int?j?=?i?+?1;?j??i?+?num;?j++)
{
if(j??seat.length?-?1)
{
isExisted?=?false;
break;
}
String?b?=?seat[j];
if(!b.contains(tag))
{
isExisted?=?false;
break;
}
}
int[]?dest?=?new?int[seats.length?+?1];
System.arraycopy(seats,?0,?dest,?0,?seats.length);
dest[dest.length?-?1]?=?i;
seats?=?dest;
}
//?是否有足夠的連續(xù)數(shù)組元素(座位數(shù))
if(isExisted)
{
int[]?dest?=?new?int[indexs.length?+?1];
System.arraycopy(indexs,?0,?dest,?0,?indexs.length);
dest[dest.length?-?1]?=?i;
indexs?=?dest;
}
}
String[]?ms?=?members.split("["?+?LINE?+?"]+");
if(indexs.length?==?0)
{
indexs?=?seats;
String?tmp?=?",";
for(int?i?=?0;?i??ms.length;?i++)
{
int?rand?=?(int)?(Math.random()?*?indexs.length);
int?ir?=?indexs[rand];
if(tmp.indexOf(","?+?ir?+?",")?==?-1)
{
seat[ir]?=?"Seat?"?+?(ir?+?1)?+?":?"?+?ms[i];
tmp?+=?ir?+?",";
}
else
{
i--;
}
}
}
else
{
int?rand?=?(int)?(Math.random()?*?indexs.length);
int?ir?=?indexs[rand];
for(int?k?=?ir;?k??ir?+?ms.length;?k++)
{
seat[k]?=?"Seat?"?+?(k?+?1)?+?":?"?+?ms[k?-?ir];
}
}
}
public?static?void?main(String[]?args)
{
String[]?seat?=?{
"Seat?1:?-empty-",
"Seat?2:?-empty-",
"Seat?3:?-empty-",
"Seat?4:?-empty-",
"Seat?5:?-empty-",
"Seat?6:?-empty-",
"Seat?7:?-empty-",
"Seat?8:?-empty-"
};
String[][]?booking?=?new?String[0][];
Scanner?input?=?null;
int?count?=?0;
int?number?=?0;
try
{
input?=?new?Scanner(new?File(TXT));
while(input.hasNextLine())
{
String?line?=?input.nextLine().trim();
if(line.matches("^\\d+$"))
{
int?num?=?Integer.parseInt(line);
if(num?!=?seat.length)
{
String?result?=?readLine(count,?num,?TXT);
setBestSeat(seat,?"-empty-",?result,?num);
}
num?=?num?==?seat.length???2?:?num?+?1;
String[][]?dest?=?new?String[booking.length?+?1][];
System.arraycopy(booking,?0,?dest,?0,?booking.length);
dest[dest.length?-?1]?=?new?String[num];
booking?=?dest;
booking[number][0]?=?line;
number++;
}
count++;
}
booking[0][1]?=?Arrays.toString(seat).replaceAll("[\\[\\]]",?"");
input.close();
}
catch(FileNotFoundException?e)
{
e.printStackTrace();
}
for(int?i?=?0;?i??seat.length;?i++)
{
System.out.println(seat[i]);
}
System.out.println(Arrays.deepToString(booking));
}
}