Car.javapackage park;
import java.util.*;
public class Car {
private int carNumber;
private int arriveTime;
private int leaveTime;
private int money;
private int MAXSIZE=100;
public Car(int carNumber, int arriveTime, int leaveTime, int money) {
this.carNumber = carNumber;
this.arriveTime = arriveTime;
this.leaveTime = leaveTime;
this.money = money;
}

public Car(int carNumber, int arriveTime) {
this.carNumber = carNumber;
this.arriveTime = arriveTime;
}

public Car(int carNumber, int leaveTime, int money) {
this.carNumber = carNumber;
this.leaveTime = leaveTime;
this.money = money;
}

public Car(){}
public int getArriveTime() {
return arriveTime;
}
public void setArriveTime(int arriveTime) {
this.arriveTime = arriveTime;
}
public int getCarNumber() {
return carNumber;
}
public void setCarNumber(int carNumber) {
this.carNumber = carNumber;
}
public int getLeaveTime() {
return leaveTime;
}
public void setLeaveTime(int leaveTime) {
this.leaveTime = leaveTime;
}
public int getMoney() {
return money;
}
public void setMoney(int money) {
this.money = money;
}

public void carArrive(Stack s){
boolean flag = false;
//Stack s=new Stack();
Car c=null;
        if(s.size()<MAXSIZE){
         for(int i=0;i<s.size();i++){
         c=(Car)s.get(i);
         if(c.getCarNumber()==this.getCarNumber()){
         flag=false;
         System.out.println("此号已有!");
         break;
         }
         else{
         flag=true;
         }
         }
        }else{
         flag=true;
        }
        if(flag){
         //s.push(this);
         s.addElement(this);
        }
        System.out.println(this.getCarNumber()+"到达");
        System.out.println("到达时间"+this.getArriveTime());

}

public void carLeave(Stack s){
Car c=null;
//Iterator it=s.iterator();
System.out.println(s.isEmpty());
for(int i=0; i<s.size();i++){
c=(Car)s.get(i);
if(c.getCarNumber()==this.getCarNumber()){
s.removeElementAt(i);
this.setMoney(this.getArriveTime()-this.getLeaveTime());
System.out.println(this.getCarNumber()+"离开");
System.out.println("离开时间"+this.getArriveTime());
}
}
}


/*
public static void main(String[] args){
Car c=new Car();
c.carArrive();
}
*/
}
CarDemo.javapackage park;
import java.awt.*;
import java.awt.event.*;
import java.util.Stack;import javax.swing.*;
import javax.swing.GroupLayout.Alignment;
public class CarDemo extends JFrame implements ActionListener{

private int frame_width=500;
private int frame_height=300;
private JLabel numberL,timeL,moneyL;
private JTextField numberT,timeT,moneyT;
private JButton arriveB,leaveB;
private JPanel panel1,panel2,panel3,panel4;
Stack s;
public CarDemo(String title){
super(title);
s=new Stack();
this.setLayout(new GridLayout(4,1));
numberL=new JLabel("车号:");
numberT=new JTextField(10);
numberT.setPreferredSize(new Dimension(100,30));
panel1=new JPanel(new FlowLayout());
panel1.add(numberL);
panel1.add(numberT);
panel1.setBackground(Color.BLUE);
//contentPane.add(panel1);
this.add(panel1);
timeL=new JLabel("时间:");
timeT=new JTextField(10);
timeT.setPreferredSize(new Dimension(100,30));
panel2=new JPanel(new FlowLayout());
panel2.add(timeL);
panel2.add(timeT);
panel2.setBackground(Color.red);
//contentPane.add(panel2);
this.add(panel2);
moneyL=new JLabel("费用:");
moneyT=new JTextField(10);
moneyT.setEditable(false);
moneyT.setPreferredSize(new Dimension(100,30));
panel3=new JPanel(new FlowLayout());
panel3.add(moneyL);
panel3.add(moneyT);
panel3.setBackground(Color.gray);
//contentPane.add(panel3);
this.add(panel3);
arriveB=new JButton("到达");
leaveB=new JButton("离开");
arriveB.setPreferredSize(new Dimension(100,30));
leaveB.setPreferredSize(new Dimension(100,30));
//arriveB.setContentAreaFilled(false);
//leaveB.setContentAreaFilled(false);
arriveB.setBorderPainted(false);
leaveB.setBorderPainted(false);
arriveB.addActionListener(this);
leaveB.addActionListener(this);
panel4=new JPanel(new FlowLayout());
panel4.add(arriveB);
panel4.add(leaveB);
panel4.setBackground(Color.yellow);
//contentPane.add(panel4);
this.add(panel4);
setVisible(true);
Dimension screenSize=Toolkit.getDefaultToolkit().getScreenSize();
int centerX = screenSize.width / 2;
int centerY = screenSize.height / 2;
setBounds(centerX - frame_width / 2, centerY - frame_height / 2,frame_width, frame_height);
setDefaultCloseOperation(EXIT_ON_CLOSE);
} public void actionPerformed(ActionEvent e) {
Car car=null;
//Stack s=new Stack();
if(e.getSource()==arriveB){
int number=Integer.valueOf(numberT.getText());
int arriveTime=Integer.valueOf(timeT.getText());
car=new Car(number,arriveTime);
car.carArrive(s);
}
if(e.getSource()==leaveB){
int number=Integer.valueOf(numberT.getText());
int leaveTime=Integer.valueOf(timeT.getText());
car=new Car(number,leaveTime);
            car.carLeave(s);
moneyT.setText(String.valueOf(car.getMoney()));



}


}

public static void main(String[] args){
new CarDemo("停车管理");

}}
点击车进会往栈中存,但是点击离开则栈就为空?java