数组列表平均值

时间:2016-11-19 03:24:04

标签: java arraylist average

我正试图找出如何获得Max& amp;最小帐户还打印打印其帐号,余额和平均交易金额。

我尝试过各种各样的服装而且无处可去。

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

public class BankAccount {


    private int AccountNumber;
    public int getAccountNumber()
    {
        return AccountNumber;
    }

    private double Balance;
    public double getBalance()
    {
        return Balance; 
    }

    private ArrayList<Double> transactions = new ArrayList<Double>();

    public void Deposit(double Balance)
    {
        transactions.add(Balance);
        this.Balance = this.Balance + Balance; 
    }

    public void Withdraw(double Balance)
    {
        transactions.add(-Balance);
        this.Balance = this.Balance - Balance;
    }

    public BankAccount(int initialAccountNumber, double initialBalance)
    {
        this.Balance = initialBalance;
        this.AccountNumber = initialAccountNumber;
        transactions.add(initialBalance);
    }

    public double getAverage()
    {
        double sum = 0; 
        for (double element : transactions)
        {
            sum = sum + Math.abs(element);
        }

        double Average = sum / transactions.size();
        return Average;
    }   

    }


---

    import java.util.ArrayList;

    public class Bank {

        private ArrayList<BankAccount> accounts = new ArrayList<BankAccount>();


        public void MakeAccount(int initialAccountNumber, double initialBalance)
        {
             BankAccount NewAcc = new BankAccount(initialAccountNumber, initialBalance);
             accounts.add(NewAcc);  
        }


        public BankAccount FindLarAcc(int initialAccountNumber, double initialBalance)
        {
            BankAccount largest = accounts.get(0);

            for (int i = 1; i < accounts.size(); i++)
            {
                BankAccount a = accounts.get(i);
                if (a.getBalance() > largest.getBalance())
                    largest = a;
            }
             return largest;
                    }


        public BankAccount FindLowAcc(int initialAccountNumber, double initialBalance)
        {
            BankAccount smallest = accounts.get(0);

            for (int i = 1; i < accounts.size(); i++)
            {
                BankAccount a = accounts.get(i);
                if (a.getBalance() < smallest.getBalance())
                    smallest = a;
            }
             return smallest;
                    }

        public BankAccount FindAcc(int initialAccountNumber)
        {
            for (BankAccount a: accounts)
            {
                if (a.getAccountNumber() == initialAccountNumber)
                    return a;
            }
            return null;
        }

     }


---

    import java.util.Scanner;

    public class BankTester {

    public static void main(String[] args){

    Scanner in = new Scanner (System.in);
    /**int AccountNumber = 0;*/
    double Balance = 0;
    double Amount = 0;

    Bank Bank1 = new Bank();


    boolean done = false;
    while (!done)
    {
        System.out.println("Enter an Account Number to begin, enter -1 to quit: ");
        int AccountNumber = in.nextInt();
        if (AccountNumber == -1)
        {
            done = true;
        } else {

            System.out.println("Now enter a Balance: ");
            Balance = in.nextDouble();
            Bank1.MakeAccount(AccountNumber, Balance);
            BankAccount B = Bank1.FindAcc(AccountNumber);

            System.out.println("How much would you like to deposit? ");
            Amount = in.nextDouble();
            B.Deposit(Amount);

            System.out.println("How much would you like to withdrawl? ");
            Amount = in.nextDouble();
            B.Withdraw(Amount);


        }



        BankAccount Max = Bank1.FindLarAcc(AccountNumber, Balance);
        BankAccount Min = Bank1.FindLowAcc(AccountNumber, Balance);

        /**
         * Print & Compute Average
         */


        System.out.println("Account " + Min.getAccountNumber() +                    
                " has the smallest balance. ");

        System.out.println("Account " + Max.getAccountNumber() + 
                " has the largest balance. ");




        }

    }

}

1 个答案:

答案 0 :(得分:0)

对于那些可能遇到同样问题的人......我想出来了!

这属于BankTester类,顺便说一下

    System.out.println("Account " + Min.getAccountNumber() +                    
            " has the smallest balance of, " + Min.getBalance() + 
            " and a average transaction of, " + Min.getAverage());


    System.out.println("Account " + Max.getAccountNumber() + 
            " has the largest balance of, " + Max.getBalance() + 
            " and a average transaction of, " + Max.getAverage());