java编写火车售票系统

java编写火车售票系统,第1张

你说的这个程序应该是不难的,只不过N久没有写过javaswing 了

还有就是java没有多继承的,只有多前猜盯实兆散现接口的

继承的关键字是:extends

接口慧和的关键字是:interface

很简单 我给你个我写的程序,你可以参考睁岩笑一下 不懂的问我。

public class Shoupiao {

public static void main(String[] args) {

chushou c1=new chushou("A地火悉含车站",10)

c1.start()//调用Thread中的run方法需要用start();

chushou c2=new chushou("B地火车站",5)

c2.start()

chushou c3=new chushou("C地火车站",8)

c3.start()

try {

c1.join() //执行完 c1 c2 c3 在继续执行 目的让结束枣乱最后输出

c2.join()

c3.join()

} catch (Exception e) {

// TODO Auto-generated catch block

e.printStackTrace()

}

System.out.println("结束")

}

}

//新建一个类

class chushou extends Thread{//用继承Thread的方法来实现多线程

String iname

public void run() {

for(int i=inumberi>0i--){

System.out.println(iname+"火车票卖出一张"+"剩余"+(i-1)+"张")

try {

Thread.sleep(100)

} catch (Exception e) {

// TODO Auto-generated catch block

e.printStackTrace()

}

}

}

int inumber

public String getIname() {

return iname

}

public void setIname(String iname) {

this.iname = iname

}

public int getInumber() {

return inumber

}

public void setInumber(int inumber) {

this.inumber = inumber

}

public chushou(String iname, int inumber) {

this.iname = iname

this.inumber = inumber

}

}

两个线程(假设为a,b)不共享资源是由于变量是局部变量。

就是线程a下有一个tickets,

线程b下也有一个tickets,

这时庆扰tickets变量为2个。

线程a访问的是a下的tickets,

而线程b访问的是b下的tickets,

所以造成坦差御了出票结果为200张。

为了避免这让岩种情况,需要在声明的时候把他设置成全局变量

也就是前面要加入static修饰

把int tickets=100

修改为public static int tickets=100

这时无论生成几个线程tickets变量只有一个所有的线程同时对他执行 *** 作。

这时就能保证出票数为100张了


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

原文地址: http://outofmemory.cn/yw/12371282.html

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

发表评论

登录后才能评论

评论列表(0条)

保存