Applet

import java.applet.*;
import java.awt.*;
import java.awt.event.*;
import java.util.*;

public class Demo6_14 extends Applet implements ActionListener
{
    long CONNECT_NUMBER = 200;
    double CONNECT_FEE = 0.1;
   
    Label cardNumberLbl = new Label();
    Label balanceLbl = new Label("余额:");
    Label passwordLbl = new Label("密码");
    TextField balanceTfd = new TextField(8);
    TextField passwordTfd = new TextField(8);
    TextField searchIdxTfd = new TextField(8);
    Button createCard = new Button("创建");
    Button searchCard = new Button("查找");
    Label searchResult = new Label("查找结果:"
        + "                                                  ");
       
    Vector phoneCardVector = new Vector();
      
    public void init()
    {
        balanceTfd.setText("");
        passwordTfd.setText("");
        searchIdxTfd.setText("");
        cardNumberLbl.setText("电话卡号:" + PhoneCard200.cardNumber200);       
       
        add(cardNumberLbl);
        add(balanceLbl);
        add(balanceTfd);
        add(passwordLbl);
        add(passwordTfd);
        add(createCard);
        add(searchIdxTfd);
        add(searchCard);
        add(searchResult);
       
        passwordTfd.setEchoChar('*');
        searchResult.setAlignment(Label.LEFT);
        createCard.addActionListener(this);
        searchCard.addActionListener(this);
    }
   
    public void actionPerformed(ActionEvent ae)
    {
        PhoneCard200 phoneCard;
       
        if(ae.getSource() == createCard)
        {
            try
            {
                phoneCard = new PhoneCard200(Double.parseDouble(balanceTfd.getText()),passwordTfd.getText(),CONNECT_NUMBER,CONNECT_FEE);
                boolean added = false;
                for(int i=0; i<phoneCardVector.size(); i++)
                {
                    if(phoneCard.getBalance() <((PhoneCard200)(phoneCardVector.get(i))).getBalance())
                    {
                        phoneCardVector.insertElementAt(phoneCard,i);
                        added = true;
                        break;
                    }
                }
                if(!added)
                    phoneCardVector.add(phoneCard);

                cardNumberLbl.setText("电话卡号:" + PhoneCard200.cardNumber200);
                balanceTfd.setText("");
                passwordTfd.setText("");
                }
            catch(NumberFormatException nfe)
            {
                showStatus("输入的余额格式不对,请重输。");
                balanceTfd.setText("");
                passwordTfd.setText("");
            }
        }
        else if(ae.getSource() == searchCard)
        {
            try
            {
                Object obj;
                boolean found = false;
               
                long searchIndex = Long.parseLong(searchIdxTfd.getText());
                for(Enumeration e=phoneCardVector.elements();e.hasMoreElements(); )
                {
                    obj = e.nextElement();
                    if(obj instanceof PhoneCard200)
                    {
                        if( ((PhoneCard200)obj).getCardNumber()== searchIndex )
                        {
                            searchResult.setText("查找结果:" + ((PhoneCard200)obj).toString());
                            found = true;
                            repaint();
                            break;
                        }
                    }
                }
                if(!found)
                {
                    searchResult.setText("未找到。");
                    searchIdxTfd.setText("");
                }
            }
            catch(NumberFormatException nfe)
            {
                showStatus("查找域输入的卡号格式错误。");
                searchIdxTfd.setText("");
                searchResult.setText("查找结果:                 ");
            }
        }
        else
        {
            showStatus("事件" + ae.toString()+ "未定义处理操作");
            balanceTfd.setText("");
            passwordTfd.setText("");
        }
    }
   
    public void paint(Graphics g)
    {
        for(int i=0; i<phoneCardVector.size(); i++)
        {
            g.drawString(phoneCardVector.get(i).toString(),10, 150+20*i);
        }
    }
   
}

class PhoneCard200
{
    static long cardNumber200;
    long cardNumber;
    double balance;
    String password;
    long   connectNumber;
    double connectFee;
   
    static
    {
        cardNumber200 = 01;
    }
   
    public PhoneCard200(double b,String pwd,long cNum,double cFee)
    {
        cardNumber = cardNumber200++;
        balance = b;
        password = new String(pwd);
        connectNumber = cNum;
        connectFee = cFee;
    }
   
    public long getCardNumber()
    {
        return cardNumber;
    }
   
    public double getBalance()
    {
        return balance;
    }
   
    public String toString()
    {
        String s = "卡号:" + cardNumber + " 余额:" + balance+ " 密码:" + password+ " 连接号:" + connectNumber+ " 连接费:" + connectFee;
        return s;
    }
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值