阅读以下说明、Java代码,将应填入(n)处的字句写在答题纸的对应栏内。 【说明】 IC卡和200卡都是从电话卡派生的。下面的程序将电话卡定义为抽象类。其中 balance为双精度变量,代表电话卡中的余额;cardNumber是长整型变量,

admin2010-01-15  38

问题 阅读以下说明、Java代码,将应填入(n)处的字句写在答题纸的对应栏内。
    【说明】
    IC卡和200卡都是从电话卡派生的。下面的程序将电话卡定义为抽象类。其中 balance为双精度变量,代表电话卡中的余额;cardNumber是长整型变量,代表电话卡的卡号;password是整型变量,代表电话卡的密码;connectNumber是字符串变量,代表电话卡的接入号码;connected是布尔变量,代表电话是否接通。
   performDial()实现各种电话接通后的扣除费用的操作。其中200卡每次通话扣除0.5元的通话费用和附加费用;IC卡每次通话扣除0.9元的通话费。TimeLeft()方法用于测试电话卡余额还可以拨打电话的次数。performConnection()用于电话接入操作,如果卡号和密码正确,则接通;否则,接不通。
   【程序】
   abstract class PhoneCard
   {
       doubte balace;
         (1)  perfermDial();
       double getBalance()
       {   return balance;  }
       double TimeLeft()
       {
           double current=balance;
           int times=0;
           do
           {
                 (2)  
               times++;
           }white(balance>=0);
   balance=current;
   return times-1;
       }
   }

   abstract class Number_PhoneCard extends PhoneCard
   {
       long cardNumber:
       int password;
       String connectNumber;
       Boolean connected;
       Boolean performConnection(long cn, int pw)
   {
       if(cn==cardNumber &&  (3)  )
       {
           connected=true;
           return true;
       }
       else   return false;
}     
}
   class IC Card  (4)  
   {
       boolean performDial()
       {
           if(balance>0.9)
           {
               balance-=0.9;
               return true;
           }
           else return false;
   }
   }

   class D200_Card  (4)  
   {
       static double additoryFee;
       static{  additoryFee=0.1; }
       boolean performDial()
       {
           if(balance>(0,5+additeryFee))
           {
                 (5)  
               return true;
           }
           else  return false;
       }
   }

选项

答案(1)abstract Boolean (2)performDial(); (3)pw==password (4)extends Number_PhoneCard (5)balance-=0.5+additoryFee;

解析 本题考查Java对抽象类的定义、继承及电话卡业务的实现。
   在Java程序设计语言中,抽象类是指在类中定义了抽象成员函数的类,程序中把基类PhoneCard定义为抽象类,其中有一个成员变量和三个成员函数,但是已给出定义的两个函数都不是抽象成员函数。因此,第(1)空的作用是把成员函数performDial0定义为抽象成员函数,结合后面的程序我们可以知道,函数performDial()的返回类型是布尔型,因此,此空的答案为abstract Boolean。
   第(2)空在函数TimeLeft()中,此函数用于测试电话卡余额还可以拨打电话的次数,要实现此功能应该知道每次电话接通后扣除的费用,函数performDial()能实现这个功能,此处应该是调用这个函数,因此,此空答案为performDial()。
    第(3)空在函数performConnection()中,此函数用于电话接入操作,如果卡号和密码正确,则接通;否则,接不通。结合程序中代码,我们知道此空是要判断密码是否正确,而参数pw中存放的是密码,因此,此空答案为pw==password。
    第(4)空是在派生类的定义时,对派生类继承关系的说明。电话卡的所有属性在抽象类Number_PhoneCard中都有了完整的定义,那么这两个电话卡的派生类应该继承 Number_PhoneCard抽象类,因此,此空答案为extends Number_PhoneCard。
    第(5)空在D200_Card类的performDial()函数中,这个函数的作用是对200卡每次通话进行扣费操作。根据题目条件,200卡每次通话扣除0.5元,再结合程序中的内容,我们可以推导出第(5)空要完成的任务是费用扣除操作,因此,此空答案为 balance-=0.5+additoryFee。
转载请注明原文地址:https://jikaoti.com/ti/dXW7FFFM
0

最新回复(0)