GAMES PC DOWNLOAD FREE FULL

GAME

Bài tập lập trình Java - DHTH8A

 

Bài Tập 1.

Ngân hàng ABC 

muốn lưu trữ thông tin của mỗi tài khoản 

như sau:



Mỗi tài khoản chứa các thông tin:
 Số tài khoản (kiểu long),
 Tên tài khoản (kiểu chuỗi),
 Số tiền trong tài khoản (kiểu double).

(i) Yêu cầu cài đặt lớp tài khoản theo sơ đồ như sau:


Account
- acctNumber : long
- name : String
- balance : double
- RATE = 0.035 : final double
+ Account()
+ Account(acctNumber : long, name : String, balance : double )
+ Account(acctNumber : long, name : String )
+ deposit(amount : double ) : boolean
+ withdraw(amount : double, fee : double) : boolean
+ addInterest() : void
+ getAccountNumber() : long
+ getBalance(): double
+ toString(): String
+ transfer( acc2 : Account, amount : double, fee : double ): void


 Phương thức toString để trả về chuỗi chứa toàn bộ thông tin tài khoản, yêu cầu định dạng tiền tệ (hd: dùng. NumberFormatgetCurrencyInstance())

Constructor có 2 đối số: acctNumbername sẽ khởi tạo số tiền mặc định là 50.

deposit(amount : double): Phương thức nạp tiền vào tài khoản, cho phép gửi số tiền amount vào tài khoản, hàm trả về true nếu gởi tiền thành công (amount>0).

withdraw(amount : double, fee : double): Phương thức rút tiền, lấy số tiền hiện tại trong tài khoản – (số tiền muốn rút+phí rút tiền), hàm trả về true nếu rút tiền thành công (amount>0 và amount+fee<=balance).

addInterest():Phương thức đáo hạn tính tiền lãi, mỗi lần đến kỳ đáo hạn thì số tiền trong tài khoản = số tiền trong tài khoản + số tiền trong tài khoản * LAISUAT.

transfer(acc2 : Account, amount : double, fee : double): Phương thức chuyển khoản, chuyển một khoản tiền amount (có phí) từ account này sang account kia.

Chú ý: Mỗi thao tác phải kiểm tra số tiền nạp, rút, chuyển có hợp lệ hay không? (VD: tiền
nhập vào <0, tiền rút nhiều hơn tiền trong tài khoản thì thông báo không hợp lệ và yêu cầu nhập lại)

(ii) Test lớp Account như sau :
- Tạo 3 đối tượng acct1, acct2, acct3 với các giá trị name, acctNumber, balance lần lượt như sau: {"Ted Murphy", 72354, 102.56}; {"Jane Smith", 69713, 40.00}; {"Edward Demsey", 93757, 759.32}.
- Gởi thêm số tiền cho acct1 là 25.85, cho acct2 là 500.00.
- Rút khỏi acct2 số tiền là 430.75, mức phí 1.50.
- Tính tiền lãi cho acct3.
- Xuất thông tin của acct1, acct2, acct3. (Kiểm tra lại kết quả).
- Chuyển tiền từ acct2 sang cho acct1 số tiền là 100.00, phí chuyển là 1.00.
- Xuất thông tin của acct1, acct2. (Kiểm tra lại kết quả).


Code : 
1 : Create new project name BankAccount.
create package : example : com.thanhcs.bankaccount
2: Create new Classe  name Account :
 Account.java

package com.thanhcs.bankaccount;
/***ThanhCS*/
import java.text.Format;
import java.text.NumberFormat;

public class Account {

private long acctNumber;
private String name ;
private double balance ;
private final double RATE = 0.035;

public Account() {
balance=50;
}

public Account(long acctNumber, String name, double balance) {
super();
this.acctNumber = acctNumber;
this.name = name;
this.balance = balance;
}

public Account(long acctNumber, String name) {
super();
this.acctNumber = acctNumber;
this.name = name;
}

boolean deposit(double amount)throws Exception /**tien gui*/
{
if(amount < 0)
{
throw new Exception("account must be greater than 0");
}
else
{
balance+=amount;
return true;
}
}

boolean withdraw(double amount , double fee )throws Exception /**thu hoi, rut tien*/
{
if (amount<0 || (amount+fee)>=balance)
throw new Exception("Loi roi,DK rut : amount > 0 || (amount+fee)>=balance ");

else
{
balance = balance - (amount+fee);
return true;
}


}

void transfer( Account acc2 , double amount, double fee)/**chuyen giao*/
{
try {
this.withdraw(amount, fee);
} catch (Exception e) {
// TODO Auto-generated catch block
System.out.println("Loi: " + e.getMessage());
}
try {
acc2.deposit(amount);
} catch (Exception e) {
// TODO Auto-generated catch block
System.out.println("Loi: " + e.getMessage());
}
}

void addInterest()
{
balance = balance + (balance*RATE);
}

public long getAcctNumber() {
return acctNumber;
}

public double getBalance() {
return balance;
}

@Override
public String toString() {

NumberFormat numBerFormat = NumberFormat.getCurrencyInstance();

return "Account [acctNumber=" + acctNumber + ", name=" + name
+ ", balance=" + numBerFormat.format(getBalance())+ ", RATE=" + RATE + "]";
}
}



3: Create main class :
 MainControl.java

package com.thanhcs.bankaccount;
/**ThanhCS*/
public class MainControl {

public static void main(String[] args) {

Account acc1 = new Account(72354,"Ted Murphy", 102.56);
Account acc2 = new Account( 69713,"Jane Smith", 40.00);
Account acc3 = new Account( 93757,"Edward Demsey", 759.32);

/*** Gởi thêm số tiền cho acct1 là 25.85, cho acct2 là 500.00.*/
// try {
// acc1.deposit(25.85);
// acc2.deposit(500.00);
// } catch (Exception e) {
// // TODO Auto-generated catch block
// System.out.println("Loi: " + e.getMessage());
// }
//
// System.out.println(acc1);
// System.out.println(acc2);

/** Rút khỏi acct2 số tiền là 430.75, mức phí 1.50. */
// try {
// acc2.withdraw(430.75, 1.50);
// } catch (Exception e) {
// // TODO Auto-generated catch block
// System.out.println("Loi: " + e.getMessage());
// }
// System.out.println(acc2);

/**Tính tiền lãi cho acct3. */
// double temp;
// temp = acc3.getBalance();
// acc3.addInterest();
// System.out.println("So tien lai acc3 :"+(acc3.getBalance() ));

/**Chuyển tiền từ acct1 sang cho acct2 số tiền là 100.00, phí chuyển là 1.00. */

acc1.transfer(acc2, 100.00, 1.00);
System.out.println(acc1);
System.out.println(acc2);
}
}



Download Source Code



Bài tập lập trình Java - DHTH8A 4.5 5 Thanh Nguyen Bài  Tập 1. Ngân hàng ABC  muốn lưu trữ thông tin của  mỗi tài khoản  như sau: Mỗi tài khoản chứa các thông tin:  Số tài khoản (kiểu long)...


No comments:

Post a Comment

NEW GAME

Powered by Blogger.

Labels

Quotes

1. Những cô gái giống như những tên miền Internet, những tên đẹp mà ta thích đã có chủ nhân rồi!


Popular Posts