Package edu.princeton.cs.algs4
Class Transaction
- Object
-
- edu.princeton.cs.algs4.Transaction
-
- All Implemented Interfaces:
Comparable<Transaction>
public class Transaction extends Object implements Comparable<Transaction>
TheTransactionclass is an immutable data type to encapsulate a commercial transaction with a customer name, date, and amount.For additional documentation, see Section 1.2 of Algorithms, 4th Edition by Robert Sedgewick and Kevin Wayne.
- Author:
- Robert Sedgewick, Kevin Wayne
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classTransaction.HowMuchOrderCompares two transactions by amount.static classTransaction.WhenOrderCompares two transactions by date.static classTransaction.WhoOrderCompares two transactions by customer name.
-
Constructor Summary
Constructors Constructor Description Transaction(String transaction)Initializes a new transaction by parsing a string of the form NAME DATE AMOUNT.Transaction(String who, Date when, double amount)Initializes a new transaction from the given arguments.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description doubleamount()Returns the amount of this transaction.intcompareTo(Transaction that)Compares two transactions by amount.booleanequals(Object other)Compares this transaction to the specified object.inthashCode()Returns a hash code for this transaction.static voidmain(String[] args)Unit tests theTransactiondata type.StringtoString()Returns a string representation of this transaction.Datewhen()Returns the date of this transaction.Stringwho()Returns the name of the customer involved in this transaction.
-
-
-
Constructor Detail
-
Transaction
public Transaction(String who, Date when, double amount)
Initializes a new transaction from the given arguments.- Parameters:
who- the person involved in this transactionwhen- the date of this transactionamount- the amount of this transaction- Throws:
IllegalArgumentException- ifamountisDouble.NaN,Double.POSITIVE_INFINITY, orDouble.NEGATIVE_INFINITY
-
Transaction
public Transaction(String transaction)
Initializes a new transaction by parsing a string of the form NAME DATE AMOUNT.- Parameters:
transaction- the string to parse- Throws:
IllegalArgumentException- ifamountisDouble.NaN,Double.POSITIVE_INFINITY, orDouble.NEGATIVE_INFINITY
-
-
Method Detail
-
who
public String who()
Returns the name of the customer involved in this transaction.- Returns:
- the name of the customer involved in this transaction
-
when
public Date when()
Returns the date of this transaction.- Returns:
- the date of this transaction
-
amount
public double amount()
Returns the amount of this transaction.- Returns:
- the amount of this transaction
-
toString
public String toString()
Returns a string representation of this transaction.
-
compareTo
public int compareTo(Transaction that)
Compares two transactions by amount.- Specified by:
compareToin interfaceComparable<Transaction>- Parameters:
that- the other transaction- Returns:
- { a negative integer, zero, a positive integer}, depending on whether the amount of this transaction is { less than, equal to, or greater than } the amount of that transaction
-
equals
public boolean equals(Object other)
Compares this transaction to the specified object.
-
hashCode
public int hashCode()
Returns a hash code for this transaction.
-
main
public static void main(String[] args)
Unit tests theTransactiondata type.- Parameters:
args- the command-line arguments
-
-