0% found this document useful (0 votes)
25 views

A Bank Account Class

The document describes a Bank Account class with methods like deposit, withdraw, getBalance, and chargeFee. It also includes a ManageAccounts class to test the Account class by creating accounts for Sally and Joe, making transactions on them, and printing summaries.

Uploaded by

masood ahmad
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
25 views

A Bank Account Class

The document describes a Bank Account class with methods like deposit, withdraw, getBalance, and chargeFee. It also includes a ManageAccounts class to test the Account class by creating accounts for Sally and Joe, making transactions on them, and printing summaries.

Uploaded by

masood ahmad
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 10

A Bank Account Class

Account.java
// *******************************************************
// Account.java
//
// A bank account class with methods to deposit to, withdraw from,
// change the name on, charge a fee to, and print a summary of the account.
// *******************************************************
public class Account {
private double balance;
private String name;
private long acctNum;

// ---------------------------------------------
// Constructor -- initializes balance, owner, and account number
// --------------------------------------------
public Account(double initBal, String owner, long number) {
balance = initBal;
name = owner;
acctNum = number;
}

// --------------------------------------------
// Checks to see if balance is sufficient for withdrawal.
// If so, decrements balance by amount; if not, prints message.
// --------------------------------------------
public void withdraw(double amount) {
if (balance >= amount)
balance -= amount;
else
System.out.println("Insufficient funds");
}
// --------------------------------------------
// Adds deposit amount to balance.

// --------------------------------------------
public void deposit(double amount) {
balance += amount;
}

// --------------------------------------------
// Returns balance.
// --------------------------------------------
public double getBalance() {
return balance;
}

// --------------------------------------------
// Returns a string containing the name, account number, and balance.
// --------------------------------------------
public String toString() {
// variable to store all account related information
String st = "";

// concatenating all data to st


st += "Name: " + name + "\n";
st += "Account Number: " + acctNum + "\n";
st += "Balance: " + balance + "\n";

// returning st
return st;
}

// --------------------------------------------
// Deducts $10 service fee //
// --------------------------------------------
public double chargeFee() {
// deducting $10 service fee
balance = balance - 10;

// returning new balance


return balance;
}

// --------------------------------------------
// Changes the name on the account
// --------------------------------------------
public void changeName(String newName) {
// setting name with new name
name = newName;
}
}
ManageAccounts.java
// ************************************************************
// ManageAccounts.java
//
// Use Account class to create and manage Sally and Joe's
// bank accounts
// ************************************************************
public class ManageAccounts {
public static void main(String[] args) {
Account acct1, acct2;
// create account1 for Sally with $1000
acct1 = new Account(1000, "Sally", 1111);

// create account2 for Joe with $500


acct2 = new Account(500, "Joe", 2222);

// deposit $100 to Joe's account


acct2.deposit(100);

// print Joe's new balance (use getBalance())


System.out.println("Joe\'s new balance after deposit = " +
acct2.getBalance());

// withdraw $50 from Sally's account


acct1.withdraw(50);

// print Sally's new balance (use getBalance())


System.out.println("Sally\'s new balance after withdraw= " +
acct1.getBalance());

// charge fees to both accounts


acct1.chargeFee();
acct2.chargeFee();

// change the name on Joe's account to Joseph


acct2.changeName("Joseph");

// print summary for both accounts


System.out.println("\nAccount 1 details:\n" + acct1);
System.out.println("Account 2 details:\n" + acct2);
}
}
ManageAccounts.java screenshot:
Output screenshot:
Tracking Grades
Student class
import java.util.Scanner;
public class Student
{
   Scanner scan = new Scanner(System.in);
   private String name;
   private int test1;
   private int test2;
   //constructor
   public Student(String studentName)
   {
       name=studentName;
   }
   //inputGrades: prompt for and read in student's grades for test1 and
test2.
   //Use name in prompts, e.g., "Enter's Joe's score for test1".
   public void inputGrades()  
   {
       System.out.print("Enter "+name+"'s score for test1: ");
       test1=scan.nextInt();
       while(test1<0 || test1>100)
       {
           System.out.print("Invalid Score: Please enter valid score: ");
           test1=scan.nextInt();
       }
       System.out.print("Enter "+name+"'s score for test2: ");
       test2=scan.nextInt();
       while(test1<0 || test1>100)
       {
           System.out.print("Invalid Score: Please enter valid score: ");
           test1=scan.nextInt();
       }
   }
   //getAverage: compute and return the student's test average
   //add header for getAverage
   public double getAverage()
   {
       return (test1+test2)/2;
   }
   //printName: print the student's name
   //add header for printName
   public void printName()
   {
       System.out.print(name);
   }
  
   public String getName()
   {
       return name;
   }
   /* (non-Javadoc)
   * @see java.lang.Object#toString()
   */
   @Override
   public String toString() {
       return "Name: " + name + " Test1: " + test1 + " Test2: " + test2 ;
   }
}
Geades class
import java.util.Scanner;
public class Grades {
   public static void main(String[] args) {
       Scanner scan = new Scanner(System.in);
       Student student1 = new Student("Mary");
       Student student2 = new Student("Mike");
         
       student1.inputGrades();
       System.out.println("Student 1: " + student1);
       System.out.println(student1.getName()+". average grade:
"+student1.getAverage());
  
       System.out.println();
       student2.inputGrades();
       System.out.println("Student 1: " + student2);
       System.out.println(student2.getName()+". average grade:
"+student2.getAverage());
         
   }
}
Output:

You might also like