「java买票」java买票代码

博主:adminadmin 2022-11-27 19:50:09 68

今天给各位分享java买票的知识,其中也会对java买票代码进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

java编写火车售票系统

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

还有就是java没有多继承的,只有多实现接口的

继承的关键字是:extends

接口的关键字是:interface

初学Java, 在写在线电影购票,想问下 怎么实现买票选座位的功能?

这个应该不难,定义一个行列的坐标系,用来标识每个座位,如果有座位的就标位1,没有座位的就标位0,如果此座位票已售出,就设为99(或者其他也行),至于移动,删除等其实就是改变整个坐标系的值了,然后通过图形方式显示出来,移动呀,删除呀什么的操作可以通过拖动等来实现,考虑到电影院中实际的前排与后排座位是有一定的错开的,所以在绘制的时候,要考虑这个错开距离,这样就美观了。

java线程同步问题,买票

while (ticket 0) {

----

sale();

}

如果在箭头的位置第一个线程切换,并且这个时候ticket=1; 那么第二个线程也会通过,此时ticket=1,恰巧第二个线程又切换到第三个线程,ticket=1.;那么接下来 sale()会执行3次 就成了-2, 所以需要在sale()内部在做一次判断。

原因就是你同步的位置不对,判断要在同步内部。

java多线程问题:模拟10个人在3个窗口买票的过程

public class TicketsSystem {

public static void main(String[] args) {

SellThread st = new SellThread();

Thread th1 = new Thread(st);

th1.start();

Thread th2 = new Thread(st);

th2.start();

Thread th3 = new Thread(st);

th3.start();

}

}

class SellThread implements Runnable {

private int number=10;

String s = new String();

public void run() {

while (number 0) {

synchronized (s) {

System.out.println("第" + number + "个人在"

+ Thread.currentThread().getName() + "买票");

}

number--;

try {

Thread.sleep(10);

} catch (InterruptedException e) {

e.printStackTrace();

}

}

}

}

synchronized (s)的s是synchronized 的参数,synchronized 的参数可以是任意对象,我定义了一个String类型的对象s,方便看程序而已。

但是要注意,s的定义一定要在run方法之外,不然还会出现负数。因为你启动了3个线程,每个线程都调用了run方法,在每个线程就会在run方法里边产生自己的s对象,一共会产生3个,达不到同步的目的。

如果还有不明白的,可以继续问。

java多线程问题,火车票买票

楼上答案是正解,你一直用一个对象的在set,共享了同一个对象.其实也没用新建5个对象.

可以set之后就开始执行.但是多线程的意义可能不大了.

package com.experiment9;

public class Ticket extends Thread {

public Ticket(String s){

super(s);

}

int num=100; //静态变量

public void run(){

while(true){

synchronized (" "){ //同步块实现多线程

if(num0){

try {

Thread.sleep(500); //线程休眠10毫秒

}catch (Exception e){

e.printStackTrace();

}

System.out.println(this.getName()+"------------------------"+(num--));

}

}

}

}

public static void main(String[] args) { //main 函数

Ticket ticket =new Ticket("5号窗口");

Thread thread_5=new Thread(ticket);

ticket.setName("一号窗口");

thread_5.start();

Thread thread_1=new Thread(ticket);

ticket.setName("二号窗口");

thread_1.start();

Thread thread_2=new Thread(ticket);

ticket.setName("三号窗口");

thread_2.start();

Thread thread_3=new Thread(ticket);

ticket.setName("四号窗口"); //为什么前面的set那么没用呢?

thread_3.start();

Thread thread_4=new Thread(ticket);

thread_4.start();

}

}

关于java买票和java买票代码的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。

The End

发布于:2022-11-27,除非注明,否则均为首码项目网原创文章,转载请注明出处。