⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ch4_e4_11.java

📁 《java语言与面向对象程序设计题解及实验指导》源代码
💻 JAVA
字号:
import java.applet.*; 
import java.awt.*;
import java.awt.event.*;

public class ch4_e4_11 extends Applet implements ActionListener
{
 Label numberPrompt;
 Label passwordPrompt;
 Label balancePrompt;
 Label connectNumberPrompt;
 TextField numberTfd;
 TextField passwordTfd;
 TextField balanceTfd;
 TextField connectNumberTfd;
 TextArea infoSummary;
 Button createPhoneCardBtn;
 
 PhoneCard myCard;
 
 public void init()
 {
   numberPrompt = new Label("卡号");
   passwordPrompt = new Label("密码");
   balancePrompt = new Label("余额");
   connectNumberPrompt = new Label("接入号码");
 
   numberTfd = new TextField(10);
   passwordTfd = new TextField(5);
   passwordTfd.setEchoChar('*');       
   balanceTfd = new TextField(5);
   connectNumberTfd = new TextField(5);

   infoSummary = new TextArea(8,30);

   createPhoneCardBtn = new Button("创建");
   
   add(numberPrompt);
   add(numberTfd);
   add(passwordPrompt);
   add(passwordTfd);
   add(balancePrompt);
   add(balanceTfd);
   add(connectNumberPrompt);
   add(connectNumberTfd);
   add(createPhoneCardBtn);
   add(infoSummary);
   
   createPhoneCardBtn.addActionListener(this);
 
 }
 
 public void actionPerformed(ActionEvent e)
 {
   try
   {
    myCard = new PhoneCard(
        Long.parseLong(numberTfd.getText()),
        Integer.parseInt(passwordTfd.getText()),
        Double.parseDouble(balanceTfd.getText()),
        connectNumberTfd.getText());

    infoSummary.setText(myCard.toString());
   }
   catch(NumberFormatException nfe)
   {
    infoSummary.setText("输入数据格式错误,请重试。");
    numberTfd.setText("");
    passwordTfd.setText("");
    balanceTfd.setText("");
    connectNumberTfd.setText("");
   }
        
 }
 
}
class PhoneCard
{
        long  cardNumber;
        private  int  password;
        double  balance;
        String  connectNumber;
        boolean  connected;

        PhoneCard(long cn, int pw, double b,String s)
        {
            cardNumber = cn;
            password = pw;
            if ( b > 0 )
                balance = b;
            else
                System.exit(1);
            connectNumber = s;
            connected = false;
        }
        boolean performConnection(long cn,int pw)       
        {
            if(cn == cardNumber && pw == password )
            {
                connected = true;
                return true;
            }
            else
            {
                connected = false;
                return false;
            }
        }
        double getBalance()
        {
            if(connected)
                return balance;
            else
                return -1;
        }
        void performDial()
        {
            if(connected)
                balance -= 0.5;
        }
        public String toString()
        {
            String s = "电话卡接入号码:"+connectNumber
                +"\n电话卡卡号:"+cardNumber
                +"\n电话卡密码:"+password
                +"\n剩余金额:"+balance;
            if(connected)
                return (s + "\n电话已接通。");
            else
                return (s + "\n电话未接通。");
        }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -