真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

餐廳排隊(duì)取號(hào)java代碼 餐廳排隊(duì)取號(hào)java代碼怎么寫(xiě)

用C或java編寫(xiě)排隊(duì)服務(wù)程序

這個(gè)簡(jiǎn)單。

站在用戶的角度思考問(wèn)題,與客戶深入溝通,找到萍鄉(xiāng)網(wǎng)站設(shè)計(jì)與萍鄉(xiāng)網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗(yàn),讓設(shè)計(jì)與互聯(lián)網(wǎng)技術(shù)結(jié)合,創(chuàng)造個(gè)性化、用戶體驗(yàn)好的作品,建站類型包括:成都做網(wǎng)站、網(wǎng)站建設(shè)、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣、空間域名、雅安服務(wù)器托管、企業(yè)郵箱。業(yè)務(wù)覆蓋萍鄉(xiāng)地區(qū)。

先做幾個(gè)實(shí)體

客戶,售貨員,

客戶包括到達(dá)時(shí)間,完成目標(biāo)需要的時(shí)間,開(kāi)始操作的時(shí)間,結(jié)束的時(shí)間。

售貨員包括當(dāng)前正在服務(wù)的客戶,

開(kāi)2個(gè)線程。一個(gè)是客戶產(chǎn)生線程。

一個(gè)是售貨員消費(fèi)線程

中間用個(gè)公共寄存體queue。

客戶產(chǎn)生線程每次產(chǎn)生一個(gè)帶到達(dá)時(shí)間,完成目標(biāo)時(shí)間的客戶。

放倒隊(duì)列里,并提醒售貨員線程接收。

售貨員線程空置則從隊(duì)列里拿一個(gè)客戶,當(dāng)前時(shí)間=當(dāng)前時(shí)間和客戶到達(dá)的時(shí)間最大的一個(gè)。客戶的開(kāi)始操作時(shí)間=當(dāng)前時(shí)間

結(jié)束時(shí)間=當(dāng)前時(shí)間+需要時(shí)間。

處理完以后當(dāng)前時(shí)間=結(jié)束時(shí)間。

如果隊(duì)列空,售貨員線程等待。

不為空就繼續(xù)取。

注意所有處理過(guò)的客戶都需要放到一個(gè)List里。

然后這一天結(jié)束了,就把整個(gè)List里的客戶全部取出來(lái),就算平均等待時(shí)間,各種時(shí)間。。。。這個(gè)會(huì)統(tǒng)計(jì)的吧。

要求追分

跪求Java數(shù)據(jù)結(jié)構(gòu)排隊(duì)就餐問(wèn)題

經(jīng)典的生產(chǎn)者消費(fèi)者模式,網(wǎng)上百度一堆,兩種方式,一種blockingqueue阻塞隊(duì)列,一種邏輯實(shí)現(xiàn)

java面包房算法,銀行排隊(duì)取號(hào)器

import java.awt.Color;

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

import java.awt.event.WindowAdapter;

import java.awt.event.WindowEvent;

import javax.swing.ButtonGroup;

import javax.swing.JButton;

import javax.swing.JFrame;

import javax.swing.JLabel;

import javax.swing.JPanel;

import javax.swing.JTextField;

public class BankWaiting extends JFrame implements ActionListener {

int total = 0, now = 0;

boolean is1Ready = false, is2Ready = false, is3Ready = false;

int call1, call2, call3;

JFrame jf;

JLabel jr, jl, jl1, j2, jl2, j3, jl3;

JTextField jr4;

JButton jb, jb1, jb2, j1;

JButton workBut1, workBut2, workBut3;

JPanel jp, jp1, jp2;

public BankWaiting() {

setLayout(null);

jf = new JFrame("銀行叫號(hào)程序");// 窗體

jr = new JLabel("請(qǐng)**號(hào)到*號(hào)窗口辦理業(yè)務(wù)");

jr.setBounds(300, 10, 800, 50);

jr.setForeground(Color.red);

j1 = new JButton("取號(hào)");

j1.addActionListener(this);

jr4 = new JTextField("歡迎");

jr4.setEditable(false);

ButtonGroup bg = new ButtonGroup();

bg.add(j1);

jp = new JPanel();

jl = new JLabel("一號(hào)窗口");

jl1 = new JLabel("一號(hào)窗口,歡迎你!");

jb = new JButton("下一位");

workBut1 = new JButton("開(kāi)始辦理");

workBut1.addActionListener(this);

jb.addActionListener(this);

jp.setBackground(Color.pink);

jp.setSize(200, 80);// 大小

jp.setLocation(20, 120); // 位置

jf.setLayout(null);

jp1 = new JPanel();

j2 = new JLabel("二號(hào)窗口");

jl2 = new JLabel("二號(hào)窗口,歡迎你!");

jb1 = new JButton("下一位");

workBut2 = new JButton("開(kāi)始辦理");

jb1.addActionListener(this);

workBut2.addActionListener(this);

jp1.setBackground(Color.pink);

jp1.setSize(200, 80);// 大小

jp1.setLocation(250, 120); // 位置

jf.setLayout(null);

jp2 = new JPanel();

j3 = new JLabel("三號(hào)窗口");

jl3 = new JLabel("三號(hào)窗口,歡迎你!");

jb2 = new JButton("下一位");

workBut3 = new JButton("開(kāi)始辦理");

workBut3.addActionListener(this);

jb2.addActionListener(this);

jp2.setBackground(Color.pink);

jp2.setSize(200, 80);// 大小

jp2.setLocation(500, 120); // 位置

jf.setLayout(null);

jf.add(jp);

jf.add(jp1);

jf.add(jp2);

jf.add(jr);

jp.add(jl);

jp.add(jl1);

jp.add(jb);

jp.add(workBut1);

jp1.add(j2);

jp1.add(jl2);

jp1.add(jb1);

jp1.add(workBut2);

jp2.add(j3);

jp2.add(jl3);

jp2.add(jb2);

jp2.add(workBut3);

jf.add(j1);

jf.add(jr4);

j1.setBounds(550, 300, 60, 30);

jr4.setBounds(300, 300, 200, 40);

jf.setSize(800, 600);

jf.setVisible(true);

jf.addWindowListener(new WindowAdapter() {

public void windowClosing(WindowEvent e) {

System.exit(0);

}

});

}

public void actionPerformed(ActionEvent e) {

String s = "";

if (e.getSource() == j1) {

s = "第" + (++total) + "號(hào),前面還有" + (total - now - 1) + "位顧客!";

jr4.setText(s);

}

if (e.getSource() == jb) {

if (this.hasCustomers()) {

s = "請(qǐng)" + (++now) + "號(hào)顧客到一號(hào)窗口辦理";

call1 = now;

jl1.setText(s);

jr.setText(s);

is1Ready = true;

} else {

s = "當(dāng)前已經(jīng)沒(méi)有顧客了";

jl1.setText(s);

is1Ready = false;

}

} else if (e.getSource() == jb1) {

if (this.hasCustomers()) {

s = "請(qǐng)" + (++now) + "號(hào)顧客到二號(hào)窗口辦理";

call2 = now;

jl2.setText(s);

jr.setText(s);

is2Ready = true;

} else {

s = "當(dāng)前已經(jīng)沒(méi)有顧客了";

jl2.setText(s);

is2Ready = false;

}

} else if (e.getSource() == jb2) {

if (this.hasCustomers()) {

s = "請(qǐng)" + (++now) + "號(hào)顧客到三號(hào)窗口辦理";

call3 = now;

jl3.setText(s);

jr.setText(s);

is3Ready = true;

} else {

s = "當(dāng)前已經(jīng)沒(méi)有顧客了";

jl3.setText(s);

is3Ready = false;

}

}

if (e.getSource() == workBut1) {

if (is1Ready) {

s = call1 + "號(hào)顧客正在辦理業(yè)務(wù)。。。";

jl1.setText(s);

is1Ready = false;

}

} else if (e.getSource() == workBut2) {

if (is2Ready) {

s = call2 + "號(hào)顧客正在辦理業(yè)務(wù)。。。";

jl2.setText(s);

is2Ready = false;

}

} else if (e.getSource() == workBut3) {

if (is3Ready) {

s = call3 + "號(hào)顧客正在辦理業(yè)務(wù)。。。";

jl3.setText(s);

is3Ready = false;

}

}

}

public boolean hasCustomers() {

if (now total) {

return true;

} else {

return false;

}

}

public static void main(String[] args) {

new BankWaiting();

}

}


新聞名稱:餐廳排隊(duì)取號(hào)java代碼 餐廳排隊(duì)取號(hào)java代碼怎么寫(xiě)
地址分享:http://weahome.cn/article/dooicoi.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部