aa2008
新新人类
帖子
19
精华
0
无忧币 9
积分 73
阅读权限 20
|
发表于:2008-5-11 12:11
标题:java程序完成
<上一帖 |
下一帖>
编写一个电话卡的类,包括卡号、密码、余额、拨入号码等属性。电话卡的常用操作有,连接电话、返回余额、通电话的函数。
public class UsePhoneCard {
//用来测试用
public static void main(String[] args) {
//生成一个电话卡对象,它的对象属性有卡号(12345678)、密码(4321)、
//余额(100.0)、拨入号码(800)
PhoneCard myCard=new PhoneCard(87654321,4321,100.0,"800");
System.out.println(myCard.toString());
//进行连接和打电话
if(myCard.performConnection(87654321,4321)){
for(int i=1;i
System.out.println("打第"+i+"次电话。");
myCard.performDial();
}
System.out.println("打第10次电话后电话卡的状态:");
System.out.println(myCard.toString());
}
}
}
//虚拟电话卡类
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){
//当卡号和密码相匹配的时候,返回为true;否则为false
if(cn==cardNumber && pw==password){
connected=true;
return true;
}
else{
connected=false;
return false;
}
}
//获得余额
double getBalance(){
//只能在连续的时候才能取得余额
if(connected)
return balance;
//否则返回-1,供调用函数判断
else
return -1;
}
//模拟打电话,打一次电话用一次performDial
void performDial(){
//在连接的情况下把余额减0.5元
if(connected)
balance-=0.5;
}
//重载toString方法,用来输出电话卡的属性,包括了当前的状态。
public String toString(){
String s="Connected Phone Number:"+connectNumber+
"\n Card Number:"+cardNumber+
"\n Card Password:"+password+
"\n The balance:"+balance;
//输出状态
if(connected)
return(s+"\n The phone is connected");
else
return(s+"\n The phone is disconnected");
}
}
每个方法的功能是什么啊
|
 51cto三周年庆典 社区系列活动(购物卡、无忧币大派送!) |
|
volkness
新新人类
帖子
3
精华
0
无忧币 5
积分 3
阅读权限 20
|
发表于:2008-5-11 13:29
public class UsePhoneCard {
//用来测试用
public static void main(String[] args) {
//生成一个电话卡对象,它的对象属性有卡号(12345678)、密码(4321)、
//余额(100.0)、拨入号码(800)
PhoneCard myCard=new PhoneCard(87654321,4321,100.0,"800");
System.out.println(myCard.toString());
//进行连接和打电话
if(myCard.performConnection(87654321,4321))
{
for(int i=1;i<=10;i++){ //for循环未完整,且缺少一对大括号
System.out.println("打第"+i+"次电话。"); //performDial()如果没在括号内,不能进行循环计费
myCard.performDial();
}
}
System.out.println("打第10次电话后电话卡的状态:");
System.out.println(myCard.toString());
}
}
不晓得楼主最后为什么会问,
你贴出的代码注释其实已经很清楚的说了每个方法的功能;
还有对你做的测试代码做了一定的修改!
|
 51cto三周年庆典 社区系列活动(购物卡、无忧币大派送!) |
|