黑马程序员技术交流社区
标题:
求大神指导
[打印本页]
作者:
江州刺史
时间:
2015-8-27 10:14
标题:
求大神指导
制作信用卡类:
类的属性:账户金额
类的方法:充值,取款,查看余额,查看是否透支
在main 函数中实现使用信用卡类完成如下功能
实例化两张信用卡对象 card1,card2;
为card1 充值 1000 元,card2 充值 500 元;
从card2 取款 600 元
向card1 充值500 元
分别输出 card1和card2 的余额,以及是否透支
作者:
薛灵云
时间:
2015-8-27 10:14
public class creditCard {
//余额属性
private int restMoney;
public int getRestMoney() {
return restMoney;
}
public void setRestMoney(int restMoney) {
this.restMoney = restMoney;
}
//充值
public int topUp(int Money){
this.restMoney += Money;
return restMoney;
}
//取款
public int withdrawals(int Money){
this.restMoney = restMoney - Money;
return restMoney;
}
//查看余额
public int viewMoney(){
return this.restMoney;
}
//判断是否透支
public boolean ifOverdraft(){
if(this.restMoney < 0){
return true;
}else{
return false;
}
}
public static void main(String[] args){
creditCard card1 = new creditCard();
card1.setRestMoney(0);
creditCard card2 = new creditCard();
card2.setRestMoney(0);
card1.topUp(1000);
card2.topUp(500);
card2.withdrawals(600);
card1.topUp(500);
System.out.println("card1的余额:"+card1.getRestMoney());
System.out.println("card2的余额:"+card2.getRestMoney());
if(!card1.ifOverdraft()){
System.out.println("card1未透支");
}else{
System.out.println("card1已透支");
}
if(!card2.ifOverdraft()){
System.out.println("card2未透支");
}else{
System.out.println("card2已透支");
}
};
};
作者:
血马雄风
时间:
2015-8-27 10:23
这应该是使用多线程解决问题的一个案例吧
作者:
liuch111
时间:
2015-8-27 10:32
2楼好厉害 2分钟解决问题
作者:
backin
时间:
2015-8-27 13:19
这个不涉及多线程吧。每个人有自己的卡。不存在操作同一账号的情况。没必要的,就是一个简单地面向对象。我根据实际情况设计了下,可以参考下。
public class Card {
private int MAXLIMIT=0;
private String name="";//为账户加个名字
private int money = 0;//账户余额
//构造函数初始账户最高信用额度
public Card(String name,int num)
{
MAXLIMIT=num;
this.money=MAXLIMIT;
this.name=name;
System.out.println(name+"账户额度:¥"+money+"元" );
}
//还款
public void addMoney(int num) {
money+=num;
System.out.println(name+"账户还款:¥"+num+"元 当前额度:¥"+money+"元");
}
//获取账户当前额度
public int getMoney()
{
return money;
}
//透支
public int isOver (int money)
{
return money-1000;
}
//消费函数
public void getoutMoney(int num)
{
money-=num;
System.out.println(name+"消费:¥"+num+"元 当前额度:¥"+ getMoney()+"元");
}
//获取账户信息
public void cardInfo()
{
//账户的额度大于等于初始额度,没有透支,反之透支。。
System.out.println(name+"的账户当前额度:¥"+ getMoney()+"元\t"+(isOver(getMoney())>0?"没有透支":"透支了¥"+isOver(getMoney())+"元"));
}
public static void main(String[] args)
{
Card c1=new Card("小明",1000);
Card c2=new Card("花花",1000);
c1.getoutMoney(1500);
c2.getoutMoney(2500);
c1.addMoney(1000);
c2.addMoney(1500);
c1.cardInfo();
c2.cardInfo();
}
}
复制代码
作者:
Ci功
时间:
2015-8-27 13:58
/*
*
制作信用卡类:
类的属性:账户金额
类的方法:充值,取款,查看余额,查看是否透支
在main 函数中实现使用信用卡类完成如下功能
实例化两张信用卡对象 card1,card2;
为card1 充值 1000 元,card2 充值 500 元;
从card2 取款 600 元
向card1 充值500 元
分别输出 card1和card2 的余额,以及是否透支
*/
class CreditCard
{
private float yuE=0;
//充值方法
public boolean chongZhi(float jinE)
{
yuE+=jinE;
return true;
}
//取款方法
public boolean quKuan(float jinE)
{
yuE-=jinE;
return true;
}
//查余额方法
public float chaYuE()
{
return yuE;
}
//查看是否透支方法
public boolean chaTouZhi()
{
return yuE<0;
}
}
public class BankDemo {
public static void main(String[] args) {
CreditCard card1 = new CreditCard();
CreditCard card2 = new CreditCard();
System.out.println("card1充值1000元:"+card1.chongZhi(1000));
System.out.println("card2充值500元:"+card2.chongZhi(500));
System.out.println("card2取款600:"+card2.quKuan(600));
System.out.println("card1充值500:"+card1.chongZhi(500));
System.out.println("card1余额:"+card1.chaYuE());
System.out.println("card1是否透支:"+card1.chaTouZhi());
System.out.println("card2余额:"+card2.chaYuE());
System.out.println("card2是否透支:"+card2.chaTouZhi());
}
复制代码
作者:
xcc62263
时间:
2015-8-27 15:23
这个题目就不严谨。
不过能写是真的。
在正式项目中不能这样写。考虑的还需要很多
作者:
liudongcan
时间:
2015-8-28 11:07
liuch111 发表于 2015-8-27 10:32
2楼好厉害 2分钟解决问题
表示两分钟还没看完问题
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2