nana
nana

Reputation: 25

How do i pass a specific content of an index of an arraylist to a method?

How do i pass a specific content of an index of an arraylist to a method? (i'm not sure of the correct terms)

This is what i'm trying to achieve: Get user input for the amount to withdraw from the first account, then print the balance. Repeat the same for deposit.

This is my class code:

import java.util.Date;

public class Account2 {
    private int id = 0;
    private double balance = 0;
    private static double annualInterestRate = 0;
    private Date dateCreated;

    public Account2() {
        id = 0;
        balance = 0;
    }

    public Account2(int id, double balance) {
        this.id = id;
        this.balance = balance;
    }

    // getters and setters (omitted for brevity)

    public double withdraw(int amount) {
        return balance - amount;
    }

    public double deposit(int amount) {
        return balance + amount;
    }
}

This is the Test class:

import java.util.ArrayList;
import java.util.Scanner;

public class TestAccount2 {
    public static void main(String[] args) {
        //Account2 acc = new Account2();
        Account2.setannualInterestRate(4.5);
        //Creates an ArrayList of 3 Account objects
        ArrayList<Account2> list = new ArrayList<Account2>();

        for(int i=1; i<4; i++) {
            //USE ARRAYLIST SYNTAX
            list.add(new Account2(i+100, i*10000 ));
        }

        //print all the content of ArrayList
        for(Account2 auto : list) {
            System.out.println(temp);
        }
    
        System.out.println("Enter the amount you'd like to withdraw: ");
        Scanner input = new Scanner(System.in);
        double amount = amount.nextDouble;
        // Get user input for the amount to withdraw from the first account, then print the balance. 
        // Repeat the same for deposit
    }
}

This is where i'm stuck:

        System.out.println("Enter the amount you'd like to withdraw: ");
        Scanner input = new Scanner(System.in);
        double amount = amount.nextDouble;
        // Get user input for the amount to withdraw from the first account, then print the balance. 
        // Repeat the same for deposit

This is the method i'm trying to pass the index of arraylist into:

public double withdraw(int amount) {
    return balance - amount;
}

thank u.

Upvotes: 1

Views: 150

Answers (1)

vmaldosan
vmaldosan

Reputation: 474

You need to invoke those methods specifying the instance of the account you want to alter. For example, if you want to withdraw from the first account of the ArrayList, you'll write something like:

list.get(0).withdraw(amount);

You can do the same for the deposit method.

Upvotes: 2

Related Questions