public class Account {

        private String accountNumber;
        private String name;
        private double balance;
        private double interestRate;

        public Account(String accountNumber, String name, double balance, double interestRate){
                this.accountNumber = accountNumber;
                this.name = name;
                this.balance = balance;
                this.interestRate = interestRate;
        }

        public boolean withdraw (double amount){

                        if ((balance >= amount) && (amount > 0)){
                                balance -= amount;
                                return true;
                        }
                        return false;
        }

        public boolean deposit (double amount) {
                if (amount <= 0){
                        System.out.println ("Error: Deposit amount is invalid.");
                        return false;
                }
                balance += amount;
                return true;
        }

        public void addInterest() {
                balance += (1 + interestRate) * balance;
        }

        public String toString(){
                return "Account number " + accountNumber + "\n"
                        + "Name " + name + "\n"
                        + "Balance " + balance + "\n"
                        + "interest rate " + interestRate;
                }

        private void setBalance(double balance){
                this.balance = balance;
        }

        public double getBalance(){
                return balance;
        }

        public String getAccountNumber() {
                return accountNumber;
        }

        public void setAccountNumber(String accountNumber) {
                this.accountNumber = accountNumber;
        }

        public String getName() {
                return name;
        }

        public void setName(String name) {
                this.name = name;
        }

        public double getInterestRate() {
                return interestRate;
        }

        public void setInterestRate(double interestRate) {
                this.interestRate = interestRate;
        }

        public static void main (String[] args){

                Account acct = new Account ("1234", "John Smith", 100, 0.1);

                System.out.println (acct);

                System.out.println("trying to withdraw 50");
                boolean success = acct.withdraw(50);
                System.out.println (success);
                System.out.println (acct);

                System.out.println("trying to withdraw 100");
                success = acct.withdraw(100);  
                System.out.println (success);
                System.out.println (acct);
        }      
}