文章目录

  • 前言
    • 一、java与c++程序的不同之处。
      • 一、对象实例化。
      • 二、大项目中的文件操作。
      • 三、继承。
      • 四、super关键字。
      • 四、抽象类。
      • 五、数组。
    • 二、java程序具体代码
      • 一、第四章。
      • 二、第五章。
      • 三、第六章。
      • 四、第七章。
      • 四、第八章

前言

个人银行账户管理系统,原系统系统用c++语言实现,现在用java语言改写。目的在于:在改写的过程中,熟悉java基础及语法;并感受c++与java同为面向对象语言的不同;在编写的过程中体会面向对象思想的封装、继承、多态特性在实际系统中的应用,初步掌握使用Java编写可复用、可扩展、可维护代码的基本技能。

提示:以下是本篇文章正文内容,下面案例可供参考

一、java与c++程序的不同之处。

一、对象实例化。

  • java每实例化一个对象或者使用匿名对象时都必须使用new 关键字。而c++不需要。
    示例代码如下:
//c++版本
Date date(2008, 11, 1); //起始日期
sa1.deposit(Date(2008, 11, 5), 5000, "salary");
Date date = new Date(2018,11,1);sa1.deposit(new Date(2008, 11, 5), 5000, "salary");

二、大项目中的文件操作。

java则是提供了包,将不同功能的文件进行分隔,为代码提供了有效分类,包中的类默认可以相互访问的(包访问权限),一个包内有多个.java文件,而每个.java文件都是对单独某一个类的实现。
java示意图如下:

C++中,大的项目都是采用了多文件编程的操作,模块开发,多个模块之间分工协作,结构清晰。头文件.h,放置各种声明,用于被cpp文件包含。模块文件.cpp。放置一些函数定义,也称为功能模块。主程序文件.cpp。包含main()的文件,程序入口,调用模块文件实现的方法。
示意图如下:

三、继承。

java程序中采用关键字extends实现继承,而且只能单继承,也就是说,java的每个类至多只能有1个父类。而c++中允许多继承,class 子类 : (访问权限) 父类1,(访问权限)父类2

四、super关键字。

java中子类继承自父类后,构造函数中会通过super关键字来调用父类的构造函数,(如果没有显示调用,则会隐式调用)。
示例代码如下:

  public SavingsAccount( Date date,String id, double rate){super(date,id);this.rate = rate;acc = new Accumulator(date,rate);}

而c++中则是直接调用父类的构造函数:
示例代码如下:

 //SavingsAccount类相关成员函数的实现
SavingsAccount::SavingsAccount(const Date &date, const string &id, double rate): Account(date, id), rate(rate), acc(date, 0) {}

四、抽象类。

java中抽象类与抽象方法之前必须有abstract; 如果一个类里面有抽象方法,那么这个类就是抽象类,类前必须加上abstract关键字,否则会报错。
c++中的纯虚函数相当于java中的抽象方法,关键字为virtual,而且,父类的纯虚函数,子类继承时,将该纯虚函数实现时前也要加上virtual关键字。

五、数组。

java的数组相比与c++中的数组,有很大的不同之处。
首先,最方便的一点便是java中新增的length属性,即我们可以直接利用数组名.length 来获得数组内的长度,相比较于c++来说,真的方便很多有没有?
然后,java中数组的声明及开辟空间做法如下:

数据类型[]   数组名称  = new 数据类型 [长度]

java中的数组属于引用类型,传递引用之间可以改变数组内容。

二、java程序具体代码

一、第四章。

第四章是一个简单的面向对象的案例,并没有涉及到什么难点。
案例代码如下:

package SavingsAccount4;public class SavingsAccount {//账号private int id;//余额private double balance;private double rate;       //存款的年利率private int lastDate;       //上次变更余额的时期private double accumulation; //余额按日累加之和//记录一笔帐,date为日期,amount为金额,desc为说明private void record(int date, double amount){accumulation = accumulate(date);lastDate = date;amount = Math.floor(amount*100+0.5)/100; //保留小数点后两位balance += amount;System.out.println(date+"\t#"+id+"\t"+amount+"\t"+balance);}//获得到指定日期为止的存款金额按日累积值private final double accumulate(int date){return accumulation + balance * (date - lastDate);}public SavingsAccount(int date, int id, double rate){this.lastDate = date;this.id = id;this.rate = rate;System.out.println(date+"\t#"+id+" is created");}public int getId() { return id; }public double getBalance() { return balance; }public double getRate() { return rate; }//存入现金public void deposit(int date, double amount){record(date, amount);}//取出现金public void withdraw(int date, double amount){if (amount > getBalance())System.out.println("Error: not enough money");elserecord(date, -amount);}//结算利息,每年1月1日调用一次该函数public void settle(int date){double interest = accumulate(date) * rate / 365; //计算年息if (interest != 0){record(date, interest);}accumulation = 0;}//显示账户信息public void show(){System.out.println("#"+id+"\tBalance: "+balance);}
}
---------------------------分界线---------下面是测试类//这就是java的默认的包访问权限。
package SavingsAccount4;public class test1 {public static void main(String args[]){SavingsAccount sa0 = new SavingsAccount(1,121325302, 0.015);SavingsAccount sa1 = new SavingsAccount(1, 58320212, 0.015);//几笔账目sa0.deposit(5, 5000);sa1.deposit(25, 10000);sa0.deposit(45, 5500);sa1.withdraw(60, 4000);//开户后第90天到了银行的计息日,结算所有账户的年息sa0.settle(90);sa1.settle(90);//输出各个账户信息sa0.show();sa1.show();}
}

二、第五章。

第五章新增了一个只属于类的静态变量。用static关键字实现。
同时,相对应的方法中也增加了一个静态的方法getTotal()来实现。
案例代码如下:


package SavingsAccount5;public class SavingsAccount {private int id;                 //账号private double balance;         //余额private double rate;        //存款的年利率private int lastDate;       //上次变更余额的时期private double accumulation; //余额按日累加之和private static double total;//记录一笔帐,date为日期,amount为金额,desc为说明private void record(int date, double amount){accumulation = accumulate(date);lastDate = date;amount = Math.floor(amount*100+0.5)/100; //保留小数点后两位balance += amount;total += amount;System.out.println(date+"\t#"+id+"\t"+amount+"\t"+balance);}//获得到指定日期为止的存款金额按日累积值private final double accumulate(int date){return accumulation + balance * (date - lastDate);}public SavingsAccount(int date, int id, double rate){this.lastDate = date;this.id = id;this.rate = rate;System.out.println(date+"\t#"+id+" is created");}public int getId() { return id; }public double getBalance() { return balance; }public double getRate() { return rate; }public static double getTotal() { return total; }//存入现金public void deposit(int date, double amount){record(date, amount);}//取出现金void withdraw(int date, double amount){if (amount > getBalance())System.out.println("Error: not enough money");elserecord(date, -amount);}//结算利息,每年1月1日调用一次该函数void settle(int date){double interest = accumulate(date) * rate / 365; //计算年息if (interest != 0)record(date, interest);accumulation = 0;}//显示账户信息void show(){System.out.println("#"+id+"\tBalance: "+balance);}}
---------------------------分界线----------------public class test2 {public static void main(String args[]){//建立几个账户SavingsAccount sa0 = new SavingsAccount(1, 21325302, 0.015);SavingsAccount sa1 = new SavingsAccount(1, 58320212, 0.015);//几笔账目sa0.deposit(5, 5000);sa1.deposit(25, 10000);sa0.deposit(45, 5500);sa1.withdraw(60, 4000);//开户后第90天到了银行的计息日,结算所有账户的年息sa0.settle(90);sa1.settle(90);//输出各个账户信息sa0.show();sa1.show();System.out.println("Total:"+SavingsAccount.getTotal());}}

三、第六章。

第六章

  • 新增加了一个date类,用于记录日期的信息。
  • 在测试类中,使用了java数组的静态初始化,这和c++数组有一个很大的不同,同时,数组的长度利用数组名.lehgth()可以得出,不需要像c++一样利用地址值之间的关系再除。
    -java中的匿名对象必须使用new关键字在这里可以看出。
    案例代码如下:
package SavingsAccount6;public class Date {//日期类private int year;//年private int month;//月private int day;       //日private int totalDays; //该日期是从公元元年1月1日开始的第几天private int DAYS_BEFORE_MONTH[]= new int []{0, 31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334, 365};public Date(int year, int month, int day){this.year = year;this.month =  month;this.day = day;if(day<=0||day>getMaxDay()){System.out.println("Invalid data:");show();System.out.println();// exit(1);}int years = year-1;totalDays = years * 365 + years / 4 - years / 100 + years / 400 + DAYS_BEFORE_MONTH[month - 1] + day;if(isLeapYear()&&month>2){totalDays++;}}//用年、月、日构造日期public final int getYear() { return year; }public final int getMonth() { return month; }public final int getDay() { return day; }public int getMaxDay() {if (isLeapYear() && month == 2){return 29;}else{return DAYS_BEFORE_MONTH[month] - DAYS_BEFORE_MONTH[month - 1];}} //获得当月有多少天public final boolean isLeapYear(){ //判断当年是否为闰年return year % 4 == 0 && year % 100 != 0 || year % 400 == 0;}public final void show(){System.out.print(getYear()+"-"+getMonth()+"-"+ getDay());} //输出当前日期//计算两个日期之间差多少天public final int distance(Date date){return this.totalDays - date.totalDays;}
}
------------------------------分界线-----------------------
package SavingsAccount6;public class SavingsAccount {private String id;      //帐号private double balance;         //余额private double rate;        //存款的年利率private Date lastDate;      //上次变更余额的时期private double accumulation; //余额按日累加之和private static double total; //所有账户的总金额//记录一笔帐,date为日期,amount为金额,desc为说明private void record( Date date, double amount, String desc){accumulation = accumulate(date);lastDate = date;amount = Math.floor(amount * 100 + 0.5) / 100; //保留小数点后两位balance += amount;total += amount;date.show();System.out.println("\t#"+id+"\t"+amount+"\t"+balance+"\t"+desc);}//报告错误信息private void error(String msg) {System.out.println("Error(#"+id+")"+msg);};//获得到指定日期为止的存款金额按日累积值private double accumulate(Date date){return accumulation + balance * date.distance(lastDate);}//构造函数public SavingsAccount(Date date, String id, double rate){this.id = id;this.rate = rate;this.lastDate = date;date.show();System.out.println("\t#"+id+" created");}public String getId(){ return id; }public double getBalance()  { return balance; }public double getRate()  { return rate; }static double getTotal() { return total; }//存入现金public void deposit(Date date, double amount, String desc){record(date, amount, desc);}//取出现金public void withdraw(Date date, double amount,String desc){if (amount > getBalance()){error("not enough money");}else{record(date, -amount, desc);}}//结算利息,每年1月1日调用一次该函数public void settle(Date date){double interest = accumulate(date) * rate / date.distance(new Date(date.getYear() - 1, 1, 1));if (interest != 0){record(date, interest, "interest");accumulation = 0;}}//显示账户信息public void show(){System.out.println(id+"\tBalance: "+balance);}
}
----------------------------分界线------------------
package SavingsAccount6;public class test3 {public static void main(String args[]){Date date = new Date(2008,11,1);SavingsAccount  accounts[] = new SavingsAccount[]{new SavingsAccount(date, "S3755217", 0.015),new SavingsAccount(date, "02342342", 0.015),};final  int n = accounts.length; //账户总数//11月份的几笔账目accounts[0].deposit(new Date(2008, 11, 5), 5000, "salary");accounts[1].deposit(new Date(2008, 11, 25), 10000, "sell stock 0323");//12月份的几笔账目accounts[0].deposit(new Date(2008, 12, 5), 5500, "salary");accounts[1].withdraw(new Date(2008, 12, 20), 4000, "buy a laptop");//结算所有账户并输出各个账户信息System.out.println();for (int i = 0; i < n; i++){accounts[i].settle(new Date(2009, 1, 1));accounts[i].show();System.out.println();}System.out.println("Total: "+SavingsAccount.getTotal());}
}

四、第七章。

终于看到了面向对象的东西了,java中的super关键字调用父类的构造函数。
案例代码如下:

package SavingsAccount7;public class Account {private String id;      //帐号private double balance;         //余额private static double total; //所有账户的总金额//供派生类调用的构造函数,id为账户protected Account(Date date,String id){this.id = id;this.balance = 0 ;date.show();System.out.println("\t#"+ id+ " created");}//记录一笔帐,date为日期,amount为金额,desc为说明protected void record(Date date, double amount,String desc){amount = Math.floor(amount * 100 + 0.5) / 100;//保留小数点后两位balance += amount;total += amount;date.show();System.out.println("\t#"+id+"\t"+ amount+"\t"+balance+"\t"+desc);}//报告错误信息protected void error(String msg){System.out.println("Error(# "+id+ "):"+msg);}public String getId()  { return id; }public double getBalance()  { return balance; }public static double getTotal() { return total; }//显示账户信息public void show(){System.out.println(id+"\tBalance: "+balance);}
}--------------------------这里是继承的分界线---------------
class SavingsAccount extends Account{//辅助计算利息的累加器private Accumulator acc;//存款的年利率private double rate;public SavingsAccount( Date date,String id, double rate){super(date,id);this.rate = rate;acc = new Accumulator(date,rate);}public double getRate()  { return rate; }//存入现金public void deposit(Date date, double amount, String desc){record(date, amount, desc);acc.change(date, getBalance());}//取出现金public void withdraw(Date date, double amount, String desc){if (amount > getBalance()){error(" not enough money");}else{record(date, -amount, desc);acc.change(date, getBalance());}}//结算利息,每年1月1日调用一次该函数public void settle( Date date){double interest = acc.getSum(date) * rate / date.distance(new Date(date.getYear() - 1, 1, 1));if (interest != 0){record(date, interest, "interest");}acc.reset(date, getBalance());}
}
---------------------------第二个继承类------------------
class CreditAccount extends Account{private Accumulator acc; //辅助计算利息的累加器private double credit;  //信用额度private double rate;  //欠款的日利率private double fee;         //信用卡年费private double getDebt(){ //获得欠款额double balance = getBalance();return (balance < 0 ? balance : 0);}//构造函数public CreditAccount( Date date,String id, double credit, double rate, double fee){super(date,id);this.credit = credit;this.rate = rate;this.fee = fee;acc = new Accumulator(date,rate);}public double getCredit() { return credit; }public double getRate() { return rate; }public double getFee()  { return fee; }public double getAvailableCredit(){ //获得可用信用if (getBalance() < 0){return credit + getBalance();}else{return credit;}}//存入现金public void deposit( Date date, double amount,String desc){record(date, amount, desc);acc.change(date, getDebt());}//取出现金public void withdraw(Date date, double amount,String desc){if (amount - getBalance() > credit){error("not enough credit");}else{record(date, -amount, desc);acc.change(date, getDebt());}}//结算利息和年费,每月1日调用一次该函数public void settle( Date date){double interest = acc.getSum(date) * rate;if (interest != 0){record(date, interest, "interest");}if (date.getMonth() == 1){record(date, -fee, "annual fee");}acc.reset(date, getDebt());}public void show(){super.show();System.out.println("Available credit: "+getAvailableCredit());}
}
-------------------下面是一个新的类------------package SavingsAccount7;public class Accumulator {//将某个数字累加private Date lastDate;    //上次变更数值的时期private double value;    //数值的当前值private double sum;     //数值按日累加之和//构造函数,date为开始累加的日期,value为初始值public Accumulator(Date date, double value){this.lastDate = date;this.sum = 0;this.value = value;}//获得到日期date的累加结果public double getSum(Date date)  {return sum + value * date.distance(lastDate);}//在date将数值变更为valuepublic void change(Date date, double value) {sum = getSum(date);lastDate = date;this.value = value;}//初始化,将日期变为date,数值变为value,累加器清零public void reset( Date date, double value) {this.lastDate = date;this.value = value;this.sum = 0;}public void setValue(double value) {this.value = value;}public void setLastDate(Date date){this.lastDate = date;}
}-----------------------------下面是date类---------------------
package SavingsAccount7;public class Date {private int year;private int month;private int day;private int totalDays;private int DAYS_BEFORE_MONTH[]= new int []{0, 31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334, 365};public Date(int year, int month, int day){this.year = year;this.month = month;this.day = day;if (day <= 0 || day > getMaxDay()) {System.out.println("Invalid date: ");show();System.out.println();}else{int years = year - 1;totalDays = years * 365 + years / 4 - years / 100 + years / 400+ DAYS_BEFORE_MONTH[month - 1] + day;if (isLeapYear() && month >=2) {totalDays++;}}}   //用年、月、日构造日期public int getYear(){ return year; }public int getMonth()  { return month; }public int getDay() { return day; }public int getMaxDay() {if (isLeapYear() && month == 2){return 29;}else{return DAYS_BEFORE_MONTH[month]- DAYS_BEFORE_MONTH[month - 1];}}   //获得当月有多少天public boolean isLeapYear() { //判断当年是否为闰年return year % 4 == 0 && year % 100 != 0 || year % 400 == 0;}public void show(){System.out.print(getYear()+"-"+getMonth()+"-"+getDay());}            //输出当前日期//计算两个日期之间差多少天public int distance(Date date){return totalDays - date.totalDays;}
}
--------下面是测试类----------------------public class test4 {public static void main(String args[]){Date  date =new Date(2008, 11, 1); //起始日期//建立几个账户SavingsAccount sa1 = new SavingsAccount(date, "S3755217", 0.015);SavingsAccount sa2 = new SavingsAccount(date, "02342342", 0.015);CreditAccount   ca = new CreditAccount(date, "C5392394", 10000, 0.0005, 50);//11月份的几笔账目sa1.deposit(new Date(2008, 11, 5), 5000, "salary");ca.withdraw(new Date(2008, 11, 15), 2000, "buy a cell");sa2.deposit(new Date(2008, 11, 25), 10000, "sell stock 0323");//结算信用卡ca.settle(new Date(2008, 12, 1));//12月份的几笔账目ca.deposit(new Date(2008, 12, 1), 2016, "repay the credit");sa1.deposit(new Date(2008, 12, 5), 5500, "salary");//结算所有账户sa1.settle(new Date(2009, 1, 1));sa2.settle(new Date(2009, 1, 1));ca.settle(new Date(2009, 1, 1));//输出各个账户信息System.out.println();sa1.show();System.out.println();sa2.show();System.out.println();ca.show();System.out.println();System.out.println("Total: "+Account.getTotal());}
}

四、第八章

他来了,他来了。面向对象的最高级抽象任务 抽象类。在本章出现了。

  • Account作为抽象类,类前用关键字abstract修饰。而且,从类Account中的代码我们可以看到,抽象类中也可以有普通函数;并不完全是抽象函数;但只要某个类中出现了一个抽象函数,这个类就是抽象类。前面必须加上关键字abstract。否则会报错。而子类的话,如果不是抽象类,则需要实现父类的所有抽象函数。
  • 在本章的测试类中,出现了数据输入的要求,而java中负责数据输入输出的是Scanner类。对应的代码如下:
import java.util.Scanner;//导包,Scanner sc =new Scanner(System.in);//创建对象str1 = sc.nextLine();//调用对应的输入函数,这里调用的是输入字符串对象的函数cmd = str1.charAt(0);//提取出字符串中的第一个字符。即我们输入的字符。

案例代码如下:

package SavingsAccount8;abstract public class Account {private String id;//帐号private double balance; //余额private static double total; //所有账户的总金额//供派生类调用的构造函数,id为账户protected Account(Date date, String id){this.id =  id;this.balance =0;date.show();System.out.println("\t#"+id+" created");}//记录一笔帐,date为日期,amount为金额,desc为说明protected void record(Date date, double amount,String desc){amount = Math.floor(amount * 100 + 0.5) / 100; //保留小数点后两位balance += amount;total += amount;date.show();System.out.println("\t#"+id+"\t"+amount+"\t"+balance+"\t"+desc);}//报告错误信息protected void error(String msg){System.out.println("Error(#"+id+"): "+msg);}public String getId(){ return id; }public double getBalance() { return balance; }public static double getTotal() { return total; }//存入现金,date为日期,amount为金额,desc为款项说明public abstract void deposit(Date date, double amount,String desc);//取出现金,date为日期,amount为金额,desc为款项说明public abstract void withdraw(Date date, double amount, String desc);//结算(计算利息、年费等),每月结算一次,date为结算日期public abstract void settle(Date date);//显示账户信息public void show(){System.out.println(id+"\\tBalance: "+balance);};
}class SavingsAccount extends Account{private  Accumulator acc;//辅助计算利息的累加器private  double rate;     //存款的年利率public SavingsAccount(Date date,String id, double rate){super(date, id);this.rate = rate;acc =new Accumulator(date, 0);}public double getRate(){ return rate; }public void deposit( Date date, double amount,String desc){record(date, amount, desc);acc.change(date, getBalance());}public void withdraw(Date date, double amount,String desc){if (amount > getBalance()){error("not enough money");}else {record(date, -amount, desc);acc.change(date, getBalance());}}public  void settle( Date date){if (date.getMonth() == 1){ //每年的一月计算一次利息double interest = acc.getSum(date) * rate / (date.operator(new Date(date.getYear() - 1, 1, 1)));if(interest != 0){record(date, interest, "interest");}acc.reset(date, getBalance());}}
}class CreditAccount extends Account{private Accumulator acc; //辅助计算利息的累加器private double credit;     //信用额度private double rate;  //欠款的日利率private double fee;         //信用卡年费private double getDebt(){//获得欠款额double balance = getBalance();return (balance < 0 ? balance : 0);}//构造函数public CreditAccount(Date date,String id, double credit, double rate, double fee){super(date,id);this.credit = credit;this.rate = rate;this.fee = fee;this.acc = new Accumulator(date,0);}public double getCredit(){ return credit; }public double getRate() { return rate; }public double getFee() { return fee; }public double getAvailableCredit(){ //获得可用信用if (getBalance() < 0){return credit + getBalance();}else{return credit;}}public  void deposit(Date date, double amount, String desc){record(date, amount, desc);acc.change(date, getDebt());}public  void withdraw(Date date, double amount, String desc){if (amount - getBalance() > credit){error("not enough credit");}else{record(date, -amount, desc);acc.change(date, getDebt());}}public void settle(Date date){double interest = acc.getSum(date) * rate;if (interest != 0){record(date, interest, "interest");}if (date.getMonth() == 1){record(date, -fee, "annual fee");}acc.reset(date, getDebt());}public void show(){super.show();System.out.println("\\tAvailable credit:"+getAvailableCredit());};
}
--------下面是测试类--- Accumulator和Date类在此不多赘述,具体代码向上看-------------------
package SavingsAccount8;
import java.util.Scanner;
public class test5 {public static void main(String[] args){Date date =new Date(2008, 11, 1);//建立几个账户SavingsAccount sa1 = new SavingsAccount(date, "S3755217", 0.015);SavingsAccount sa2 =new SavingsAccount(date, "02342342", 0.015);CreditAccount ca = new CreditAccount(date, "C5392394", 10000, 0.0005, 50);Account accounts[] = new Account[3];accounts[0] = sa1;accounts[1] = sa2;accounts[2] = ca ;int n = accounts.length;    //账户总数System.out.println("(d)deposit (w)withdraw (s)show (c)change day (n)next month (e)exit" );char  cmd;String str1;Scanner sc =new Scanner(System.in);do {//显示日期和总金额date.show();System.out.println("\tTotal: "+Account.getTotal()+"\tcommand>");int index, day;double amount;String desc;str1 = sc.nextLine();cmd = str1.charAt(0);switch (cmd) {case 'd':   //存入现金index = sc.nextInt();amount = sc.nextInt();desc = sc.nextLine();accounts[index].deposit(date, amount, desc);break;case 'w':  //取出现金index = sc.nextInt();amount = sc.nextInt();desc = sc.nextLine();accounts[index].withdraw(date, amount, desc);break;case 's': //查询各账户信息for (int i = 0; i < n; i++) {System.out.println("["+i+"]");accounts[i].show();System.out.println();}break;case 'c':  //改变日期day = sc.nextInt();if (day < date.getDay()) {System.out.println("You cannot specify a previous day");}else if (day > date.getMaxDay()){System.out.println( "Invalid day");}else{date = new Date(date.getYear(), date.getMonth(), day);}break;case 'n':  //进入下个月if (date.getMonth() == 12){date =new  Date(date.getYear() + 1, 1, 1);}else{date = new Date(date.getYear(), date.getMonth() + 1, 1);}for(int i = 0; i < n; i++){accounts[i].settle(date);}break;}} while (cmd=='e');}
}

至此c++的银行管理系统代码正式改写完毕。此次的代码改写程序,让我更加熟悉java的使用,同时,也加强了实战,避免成为理论的巨人,实践的矮子。有道是:“基础不牢,地动山摇”。接下来也要继续努力呀!!!

放图庆祝:

java个人银行账户管理程序代码改写相关推荐

  1. C++转Java个人银行账户管理程序

    4.9 1.private,public等在Java里面需要单独写在每一个成员前面 java private int id; private void record(int date, double ...

  2. 【C++ 第七章 个人银行账户管理程序案例】

    [第七章] 个人银行账户管理程序  案例实现 //account.cpp #include"account.h" #include<cmath> #include< ...

  3. java转账_使用Java模拟银行账户存、取款、转账功能

    半枯 package bank;import java.util.Scanner;/** * 1.建立一个银行账户类(Acount),具有建立新帐号.查询余额.存款.取款.转账 * 即从本账户把钱转给 ...

  4. java 银行账户 透支,Java学习——银行账户模拟

    以下实例是一个银行账户的模拟,通过银行卡的号码完成识别,可以进行存钱和取钱的操作. InsufficientFundsException.java 文件代码: // 文件名InsufficientFu ...

  5. 基于Java的银行账户管理系统

    一.项目介绍 基于Java GUI的银行账户信息管理系统,可直接启动演示.包含账户查询.开户.销户.存款.取款.账户统计等功能.适合作为课程设计.大作业.毕业设计项目. 二.技术介绍: Java;Sp ...

  6. java银行账户模拟_使用Java模拟银行账户存、取款、转账功能

    半枯 我分开写给你package bank; //这是创建新用户的 import java.io.FileNotFoundException; import java.io.IOException; ...

  7. JAVA定义银行账户类

    定义银行账户类Account,有属性:卡号cid,余额balance,所属用户Customer 银行账户类Account有方法: (1)getInfo(),返回String类型,返回卡的详细信息 (2 ...

  8. 使用Java编写银行账户类(面向对象思考实验)

    银行账户类(Accoount)可以为账户存储交易.取款和存款都会产生交易信息.需要记录账户每次交易(Transaction)的信息,包括取钱还是存钱,交易的金额,交易时间和交易之后的余额.系统可以通过 ...

  9. Java模拟银行账户简单的存取款、余额查询操作。

    使用Java语言,创建一个银行账号Account类,实现存款(balance)的存(deposit).取(withdraw)和查询(getBalance)等功能,然后基于该类创建对象,模拟存.取和查询 ...

  10. JAVA|银行账户Account类

    银行账户Account类 编写Java应用程序.首先定义一个描述银行账户的Account类,包括成员变量"账号"和"存款余额",成员方法有"存款&qu ...

最新文章

  1. 写了六个相同功能的函数之后,我学到了什么
  2. 微信小程序长按事件触发点击事件的BUG处理
  3. maven 内置参数
  4. php数组逗号连接,php – 如何使用逗号组合数组中的所有元素?
  5. sockets C#
  6. 信息学奥赛一本通 2007:【20CSPJ普及组】方格取数 | 洛谷 P7074
  7. 怎样在 Centos 6.8 中安装 Elasticsearch 5.2
  8. c语言if从句输入月份求天数,c语言上机实验题3.doc
  9. 基于Python-turtle库绘制小猪佩奇、小猫咪
  10. 初入steam避坑请进
  11. 微信小程序保存图片到相册
  12. 聚类系数与小世界网络
  13. 如何从苹果手机中导出视频且保证画面不失真
  14. GraphQL学习过程应该是这样的 1
  15. 最新北京人才公寓申请流程,技术员的福利~
  16. ubuntu系统安装微信过程与问题解决记录
  17. Eclipse显示单词拼写错误The word ‘url‘ is not correctly spelled
  18. python 二进制与十进制之间的转换
  19. 篮球爱好和程序的结合:C#生成NBA赛事预告页面
  20. 牛津博士讲大数据和量化金融

热门文章

  1. VB定义字符串数组并赋值
  2. 电源管理(2) - loongson cpufreq
  3. html+css 模仿制作百度注册页面
  4. 有道手机词典(安卓版)离线和发音包…
  5. [No0000134]C#中的委托,匿名方法和Lambda表达式
  6. Lucene.Net的简单练习
  7. 定义一个复数类Complex,使得代码能够进行下面的工作:
  8. Image Super Resolution Using Conventional Neural Network (SRCNN)
  9. 自己开发的网页嵌入到飞书后不能右键进行复制粘贴的解决方案
  10. HTML制作手风琴效果,Dreamweaver制作手风琴图片展示效果(附代码)