JAVA_TEST01

实验内容
1.定义类;
2.创建对象并使用对象;
3.类成员访问控制;
4.方法调用及参数传递。

基本要求
1.编写体现面向对象思想的程序;
2.编写创建对象和调用对象的方法的程序;
3.编写体现方法参数传递和方法重载的程序;
4.编写一个类,其成员具有不同的成员访问控制权限;
5.理解static成员的含义和作用。

实验题目
p.306, 9.7 设计一个名为Account的类,它包括:
• —个名为id的int类型私有数据域(默认值为0)。
• —个名为balance的double类型私有数据域(默认值为0)。
• —个名为annualInterestRate的double类型私有数据域,存储当前利率(默认值为0)。假设所有账户利率相同。
• —个名为dateCreated的Date类型的私有数据域,存储账户的开户日期。
• —个用于创建默认账户的无参构造方法。
• 一个用于创建带特定id和初始余额的账户的构造方法。
• id、balance和annualInterstRate的访问器和修改器。
• 数据域dateCreated的访问器。
• 一个名为getMonthlyInterest()的方法,返回月利息。
• —个名为withDraw的方法,从账户提取特定金额。
• —个名为deposit的方法向账户存储特定金额。
画出该类的UML图并实现这个类。

提示:方法getMonthlyInterest()用于返回月利息,而不是利率。月利息是balance*monthlyInterestRate。monthlyInterestRate是annualInterestRate/12。注意,annualInterestRate是一个百分教,比如4.5%。如果输入4.5,你需要将其除以100。

编写一个测试程序,创建一个账户id为1122、余额为20000元、年利率为4.5%的Account对象,使用withdraw方法取款2500元,使用deposit方法存款3000元,然后显示余额、月利息以及这个账户的开户日期。

SOURCE CODE

下面展示一些 内联代码片

package test01;
public class TestAccount {
	public static void main(String[] args){
		Account account1 = new Account(1122, 20000);
		account1.setInterestAnnualRate(4.5);
		account1.withDraw(2500);
		account1.deposit(3000);
		System.out.println(account1.getBalance() + "\n" +
				account1.getMonthlyInterestRate() + "\n" + 
				account1.getDateCreated());
	}
}
package test01;
import java.util.Date;
public class Account {
	private int id;
	private double balance;
	private double annualInterestRate;
	private Date dateCreated;
	Account(){
		id = 0;
		balance = 0;
		annualInterestRate = 0;
		//dateCreated.getDate();
		//dateCreated.toGMTString();
	}
	/**
	 * @param uId 用户ID
	 * @param initBalance 初始余额
	 * */
	Account(int uId, double initBalance){
		id = uId;
		balance = initBalance;
	}
	public void setId(int newId){
		id = newId;
	}
	public int getId(){
		return id;
	}
	
	public void setBalance(int newBalance){
		balance = newBalance;
	}
	public double getBalance(){
		return balance;
	}
	public void setInterestAnnualRate(double newAnnualRate){
		annualInterestRate = newAnnualRate;
	}
	public double getInterestAnnualRate(){
		return annualInterestRate;
	}
	public Date getDateCreated(){
		return dateCreated;
	}
	public double getMonthlyInterestRate(){
		return balance * annualInterestRate / 100 / 12;
	}
	public void withDraw(double withDrawBalance){
		balance -= withDrawBalance;
	}
	public void deposit(double depositBalance){
		balance += depositBalance;
	}
}

上一篇:mysql的修改


下一篇:类和对象综合练习:编写程序Account.java,定义一个类Account,表示“银行账户”