用java模拟铁路售票系统~实现四个售票点发售某日某次列车的100张车票(多线程问题)

用java模拟铁路售票系统~实现四个售票点发售某日某次列车的100张车票(多线程问题),第1张

public class TicketsSystem

{

public static void main(String[] args)

{

SellThread st=new SellThread();

// new Thread(st)start();

try

{

Threadsleep(1);

}

catch(Exception e)

{

eprintStackTrace();

}

stb=true;

new Thread(st)start();

new Thread(st)start();

new Thread(st)start();

}

}

class SellThread implements Runnable

{

int tickets=100;

Object obj=new Object();

boolean b=false;

public void run()

{

if(b==false)

{

while(true)

sell();

}

else

{

while(true)

{

synchronized(obj)

{

try

{

Threadsleep(10);

}

catch(Exception e)

{

eprintStackTrace();

}

synchronized(this)

{

if(tickets>0)

{

Systemoutprintln("obj:"+ThreadcurrentThread()getName()+

" sell tickets:"+tickets);

tickets--;

}

}

}

}

}

}

public synchronized void sell()

{

synchronized(obj)

{

if(tickets>0)

{

try

{

Threadsleep(10);

}

catch(Exception e)

{

eprintStackTrace();

}

Systemoutprintln("sell():"+ThreadcurrentThread()getName()+

" sell tickets:"+tickets);

tickets--;

}

}

}

}qq号:1369038795

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 401 Transitional//EN"    

">

乘客翻越栏杆

这样的话,那他自己要承担主要责任

因为他的行为本身就有危险性,在知道有可能发生危险的情况下,还翻越栏杆,首先是自己对自己的不负责.

司机是在工作哦.工作中出的工作事故应该首先尤公司承担.

而且你所说的是.不慎滑入已启动的客车后轮致死.

像这种情况是不法挽回的.估计公交公司也不会承担太多.

希望大家能够吸取教训

到学校图书馆去借些盘吧。我们课程设计的时候就是从图书馆里面借盘然后铐程序的。里面都有现成的,改改就可行了。网上流传的那些项目,一般都是要么有bug,要么不能运行的。

package tmp;

public class Test {

private static int k=0;//售出票数

private static int count=1000;//总票数

private static synchronized boolean sell(int n){

if(k<count){

k++;

Systemoutprintln("第"+n+"售票点售出第"+k+"张票");

return true;

}

return false;

}

static class SellPot extends Thread{//售票点

int n;//售票点编号

public SellPot(int n){

thisn=n;

}

public void run(){

while(sell(n)){

try {

Threadsleep(100);

} catch (InterruptedException e) {

eprintStackTrace();

}

}

}

}

public static void main(String[] args) {

for(int i=1;i<=10;i++){

new SellPot(i)start();

}

}

}

//银行汇款

public class Test2 {

private static int k=0;//总汇款

private static synchronized void send(int m,int i,int n){

k+=m;

Systemoutprintln("第"+n+"个顾客进行第"+(i+1)+"次汇款,银行接收总汇款"+k);

}

static class Costum extends Thread{//售票点

int n;//顾客编号

public Costum(int n){

thisn=n;

}

public void run(){

for(int i=0;i<3;i++){

send(100,i,n);//汇款100

try {

Threadsleep(100);

} catch (InterruptedException e) {

eprintStackTrace();

}

}

}

}

public static void main(String[] args) {

for(int i=1;i<=3;i++){

new Costum(i)start();

}

}

}

第一个:

import javautilScanner;

/

  Created by Chen on 2015/11/11

 /

public class T {

    public static void main(String[] args) {

        int temp = 0;

        Scanner s = new Scanner(Systemin);

        Systemoutprint("请输入3个整数");

        int a = snextInt();

        int b = snextInt();

        int c = snextInt();

        if (a > b) {

            temp = a;

            a = b;

            b = temp;

        }

        if (a > c) {

            temp = a;

            a = c;

            c = temp;

        }

        if (b > c) {

            temp = b;

            b = c;

            c = temp;

        }

        Systemoutprintln("a的值:" + a + "b的值:" + b + "c的值:" + c);

    }

}

第二题:

import javautilScanner;

/

  Created by Chen on 2015/11/11

 /

public class T {

    public static void main(String[] args) {

        int temp = 0;

        Scanner s = new Scanner(Systemin);

        Systemoutprint("输入一个数");

        int a = snextInt();

        if((a%3==0)||(a%5==0))

        Systemoutprintln("该整数是3或5的倍数");

        else  Systemoutprintln("“该数不能被3或5中的任何一个数整除" );

    }

}

第三题:

import javautilScanner;

/

  Created by Chen on 2015/11/11

 /

public class T {

    public static void main(String[] args) {

        int price = 5000;

        Scanner s = new Scanner(Systemin);

        Systemoutprint("输入订票月份:");

        int month = snextInt();

        if (month > 0 && month < 13) {

            if (month > 3 && month < 11) {

                Systemoutprintln("该月车票价格如下:头等舱" + price  09 + "元" + "  " + "经济舱" + price  08);

            } else Systemoutprintln("该月车票价格如下:头等舱" + price  05 + "元" + "  " + "经济舱" + price  04);

        } else Systemoutprintln("请输入正确的月份");

    }

}

以上就是关于用java模拟铁路售票系统~实现四个售票点发售某日某次列车的100张车票(多线程问题)全部的内容,包括:用java模拟铁路售票系统~实现四个售票点发售某日某次列车的100张车票(多线程问题)、java网上订机票系统、编写一个Java应用程序,在主线程中再创建3个线程:“客车司机”、“乘客”和“售票员”。要求线程“客车司等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

原文地址: http://outofmemory.cn/zz/9668088.html

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

发表评论

登录后才能评论

评论列表(0条)

保存