Question: TestGiftCards.java --------------------------------------- import javax.swing.JOptionPane; public class TestGiftCards { public static void main(String[] args) { GiftCards gc = new GiftCards(, 0.0); // display opening message String
TestGiftCards.java ---------------------------------------
import javax.swing.JOptionPane;
public class TestGiftCards { public static void main(String[] args) { GiftCards gc = new GiftCards("", 0.0); // display opening message String message = "welcome"; JOptionPane.showMessageDialog(null, "Message: " + message, "Message", JOptionPane.PLAIN_MESSAGE); // set the gift card holder's name String str = JOptionPane.showInputDialog(null, "gift card holder's name : "); gc.setHolder(str); // obtain the gift card number str = JOptionPane.showInputDialog(null, "gift card number : "); gc.cardNum = Integer.parseInt(str); // Set gift card type str = JOptionPane.showInputDialog(null, "Enter card type (refund, purchase) : "); gc.setCardType(str); // set the gift card amount str = JOptionPane.showInputDialog(null, "gift card amount : "); gc.setBalance(Double.parseDouble(str));
// issue the gift card gc.IssueGiftCard(); // use the gift card double useCard = 0; str = JOptionPane.showInputDialog(null, "deduct amount from card : "); useCard = Double.parseDouble(str); // print current card balance gc.printCurrentGiftCardInfo(useCard); } }
-------------------------------------------------------------------------- GiftCards.java ---------------------------------- import java.text.DateFormat; import java.text.NumberFormat; import java.text.SimpleDateFormat; import java.util.Date; import java.util.Calendar;
public class GiftCards { static NumberFormat nf = NumberFormat.getCurrencyInstance(); DateFormat dateForm = new SimpleDateFormat("MM/dd/yyyy"); Calendar cal = Calendar.getInstance(); Date today = new Date(); // define the class data members public boolean expires; private double balance; public int cardNum; private String cardType; public String issueDate; private String holder; // define the member methods // default constructor public GiftCards() {} // overloaded constructor public GiftCards(String n, double amt) { holder = n; balance = amt; } public void IssueGiftCard() { System.out.println(""); System.out.println(" [ Card Issued ] "); System.out.println(" Today's Date is: " + dateForm.format(today)); System.out.println(" Card Holder . . . " + holder); System.out.println(" Card Number . . . " + cardNum); System.out.println(" Card Type . . . " + cardType); System.out.println(" Card Amount . . . " + NumberFormat.getCurrencyInstance().format(balance)); } public double getBalance() { return balance; } public void setBalance(double b) { balance = b; } public String getHolder() { return holder; } public void setHolder(String h) { holder = h; } public String getCardType() { return cardType; } public void setCardType(String t) { cardType = t; } public void printCurrentGiftCardInfo(double spend) { System.out.println(""); System.out.println(""); System.out.println(" [ Card Balance ]"); System.out.println(" Today's Date is: " + dateForm.format(today)); System.out.println(" Deducted . . . . " + NumberFormat.getCurrencyInstance().format(spend)); System.out.println(" Card Amount . . . " + NumberFormat.getCurrencyInstance().format(balance - spend)); cal.add(Calendar.YEAR, 1); System.out.println(" Gift card expires in EXACTLY one year. No exceptions. "); System.out.println(" Expiration Date is: " + cal.getTime()); } }
1. Could this program be used in a similar fashion for credit card or debit card use?
2. Create a flow chart that shows the logic of the program.
3. How would you modify this program to show the month and year for gift card expiration?
4. Why is the package "import javax.swing.JOptionPane;" being used for this program?
5. Explain the use of two classes for this program.
Step by Step Solution
There are 3 Steps involved in it
Get step-by-step solutions from verified subject matter experts
