java排隊(duì)系統(tǒng)代碼 叫號排隊(duì)系統(tǒng)java

java 寫進(jìn)入游戲排隊(duì)的代碼?

用隊(duì)列先驗(yàn)證隊(duì)列有沒有滿,如果滿了則進(jìn)入不了然后先進(jìn)先出

創(chuàng)新互聯(lián)是網(wǎng)站建設(shè)專家,致力于互聯(lián)網(wǎng)品牌建設(shè)與網(wǎng)絡(luò)營銷,專業(yè)領(lǐng)域包括網(wǎng)站設(shè)計(jì)制作、成都網(wǎng)站建設(shè)、電商網(wǎng)站制作開發(fā)、小程序開發(fā)、微信營銷、系統(tǒng)平臺開發(fā),與其他網(wǎng)站設(shè)計(jì)及系統(tǒng)開發(fā)公司不同,我們的整合解決方案結(jié)合了恒基網(wǎng)絡(luò)品牌建設(shè)經(jīng)驗(yàn)和互聯(lián)網(wǎng)整合營銷的理念,并將策略和執(zhí)行緊密結(jié)合,且不斷評估并優(yōu)化我們的方案,為客戶提供全方位的互聯(lián)網(wǎng)品牌整合方案!

java銀行排隊(duì)系統(tǒng)怎么編寫?

我覺得挺簡單的因?yàn)椴恍枰玫骄€程 定義一個變量一直++就可以了

Java中應(yīng)用線程銀行排隊(duì)系統(tǒng)

//您可以使用重入鎖實(shí)現(xiàn)排隊(duì)。

package?com.lw;

import?java.util.concurrent.locks.Lock;

import?java.util.concurrent.locks.ReentrantLock;

public?class?ReentrantLockDemo?implements?Runnable?{

private?int?number?=?0;//?創(chuàng)建一個變量

private?Lock?lock?=?new?ReentrantLock();//?創(chuàng)建重入鎖對象

@Override

public?void?run()?{

lock.lock();//?打開鎖

try?{

for?(int?i?=?0;?i??5;?i++)?{

try?{

Thread.sleep(100);//?線程休眠0.1秒

}?catch?(InterruptedException?e)?{

e.printStackTrace();

}

//?輸出當(dāng)前線程的名稱和number的值,每次循環(huán)之后number的值都會加一

System.out.println(Thread.currentThread().getName()?+?":?"

+?number++);

}

}?finally?{

lock.unlock();//?釋放鎖

}

}

public?static?void?main(String[]?args)?{

ReentrantLockDemo?run?=?new?ReentrantLockDemo();//?獲得ReentrantLockDemo對象

Thread?thread1?=?new?Thread(run);//?創(chuàng)建線程1

Thread?thread2?=?new?Thread(run);//?創(chuàng)建線程2

thread1.start();//?運(yùn)行線程1

thread2.start();//?運(yùn)行線程2

}

}

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

這個簡單。

先做幾個實(shí)體

客戶,售貨員,

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

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

開2個線程。一個是客戶產(chǎn)生線程。

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

中間用個公共寄存體queue。

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

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

售貨員線程空置則從隊(duì)列里拿一個客戶,當(dāng)前時間=當(dāng)前時間和客戶到達(dá)的時間最大的一個??蛻舻拈_始操作時間=當(dāng)前時間

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

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

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

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

注意所有處理過的客戶都需要放到一個List里。

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

要求追分

用java實(shí)現(xiàn)銀行排隊(duì)程序,要求模擬銀行的業(yè)務(wù)排隊(duì)系統(tǒng),要有界面,實(shí)現(xiàn)完成的排隊(duì)和叫號

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("銀行叫號程序");// 窗體

jr = new JLabel("請**號到*號窗口辦理業(yè)務(wù)");

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

jr.setForeground(Color.red);

j1 = new JButton("取號");

j1.addActionListener(this);

jr4 = new JTextField("歡迎");

jr4.setEditable(false);

ButtonGroup bg = new ButtonGroup();

bg.add(j1);

jp = new JPanel();

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

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

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

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

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("二號窗口");

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

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

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

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("三號窗口");

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

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

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

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) + "號,前面還有" + (total - now - 1) + "位顧客!";

jr4.setText(s);

}

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

if (this.hasCustomers()) {

s = "請" + (++now) + "號顧客到一號窗口辦理";

call1 = now;

jl1.setText(s);

jr.setText(s);

is1Ready = true;

} else {

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

jl1.setText(s);

is1Ready = false;

}

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

if (this.hasCustomers()) {

s = "請" + (++now) + "號顧客到二號窗口辦理";

call2 = now;

jl2.setText(s);

jr.setText(s);

is2Ready = true;

} else {

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

jl2.setText(s);

is2Ready = false;

}

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

if (this.hasCustomers()) {

s = "請" + (++now) + "號顧客到三號窗口辦理";

call3 = now;

jl3.setText(s);

jr.setText(s);

is3Ready = true;

} else {

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

jl3.setText(s);

is3Ready = false;

}

}

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

if (is1Ready) {

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

jl1.setText(s);

is1Ready = false;

}

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

if (is2Ready) {

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

jl2.setText(s);

is2Ready = false;

}

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

if (is3Ready) {

s = call3 + "號顧客正在辦理業(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();

}

}

求java中類似學(xué)生信息管理系統(tǒng)中按學(xué)號,按姓名排序的代碼

import?java.util.ArrayList;

import?java.util.Collections;

import?java.util.Comparator;

import?java.util.List;

public?class?Sort?{

public?static?void?main(String[]?args)?{

Student?p1?=?new?Student(1001,?"小明",?20);

Student?p2?=?new?Student(1002,?"小紅",?21);

Student?p3?=?new?Student(1003,?"小黑",?19);

ListStudent?list?=?new?ArrayListStudent();

list.add(p1);

list.add(p2);

list.add(p3);

Collections.sort(list,?new?ComparatorStudent()?{

/*

?*?int?compare(Student?o1,?Student?o2)?返回一個基本類型的整型,?返回負(fù)數(shù)表示:o1?小于o2,

?*?返回0?表示:o1和o2相等,?返回正數(shù)表示:o1大于o2。

?*/

public?int?compare(Student?o1,?Student?o2)?{

//?按照學(xué)生的學(xué)號進(jìn)行升序排列

if?(o1.getId()??o2.getId())?{

return?1;

}

if?(o1.getId()?==?o2.getId())?{

return?0;

}

return?-1;

}

});

write(list);

System.out.println("---------------------");

Collections.sort(list,?new?ComparatorStudent()?{

/*

?*?int?compare(Student?o1,?Student?o2)?返回一個基本類型的整型,?返回負(fù)數(shù)表示:o1?小于o2,

?*?返回0?表示:o1和o2相等,?返回正數(shù)表示:o1大于o2。

?*/

public?int?compare(Student?o1,?Student?o2)?{

//?按照學(xué)生的年齡進(jìn)行升序排列

if?(o1.getAge()??o2.getAge())?{

return?1;

}

if?(o1.getAge()?==?o2.getAge())?{

return?0;

}

return?-1;

}

});

write(list);

}

public?static?void?write(ListStudent?list)?{

for?(Student?s?:?list)?{

System.out.println(s.getId()?+?"\t"?+?s.getName()?+?"\t"

+?s.getAge());

}

}

}

public?class?Student?{

private?int?id?;

private?String?name;

private?int?age;

//構(gòu)造方法

public?Student(int?id,String?name,int?age){

this.id?=?id;

this.name?=?name;

this.age?=?age;

}

public?int?getId()?{

return?id;

}

public?void?setId(int?id)?{

this.id?=?id;

}

public?String?getName()?{

return?name;

}

public?void?setName(String?name)?{

this.name?=?name;

}

public?int?getAge()?{

return?age;

}

public?void?setAge(int?age)?{

this.age?=?age;

}

}

新聞標(biāo)題:java排隊(duì)系統(tǒng)代碼 叫號排隊(duì)系統(tǒng)java
地址分享:http://www.muchs.cn/article44/hggcee.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供軟件開發(fā)、網(wǎng)站改版、外貿(mào)建站云服務(wù)器、移動網(wǎng)站建設(shè)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

微信小程序開發(fā)