Expenses Tracker Juliana is a shopaholic Juliana needs a sof

Expenses Tracker Juliana is a shopaholic! Juliana needs a software that helps her keep track of her shopping expenses. Every time Juliana buys a new outfit, she would like to add it to a list of expenses and checks if she has exceeded her allowance of 700$ per month. She also likes to view all her expenses in a specific month. Each time Juliana buys a new outfit, she will need to keep track of the outfit type (i.e., shirt), the outfit price and the month (i.e., 1 for January) in which she bought the outfit. Your program should display the following menu for Juliana: *****Welcome to Shopaholic Software**** Menu 1- Enter a new Purchase.

2-Track Spending per Month

3-View purchases per Month 0-Exit

1

Please enter month of purchase

1

Please enter Type of outfit purchased Dress

Please enter Price of outfit purchased 300

Menu 1- Enter a new Purchase.

2-Track Spending per Month

3-View purchases per Month 0-Exit 2

Please enter month of purchase 1

The amount of money spent this month is 300$

Menu 1- Enter a new Purchase.

2-Track Spending per Month

3-View purchases per Month 0-Exit

3

Please enter month of purchase

1

You purchased on Month 1 the following:

Dress for 300$

Menu 1- Enter a new Purchase.

2-Track Spending per Month

3-View purchases per Month 0-Exit

0

Your program should allow Juliana to add as many purchases as she wants (hint: use Vectors to manage the purchases).

You will need to write two methods: 1) Write a method that returns the amount of money that Juliana spent for a specified month 2) Write a method that displays all the purchases of a specified month Your program needs to use the above methods to track the spending and to view the purchases per month.

Solution

import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
import java.util.Vector;

class Expenses{
   String outfitType;
   double price;
   public String getOutfitType() {
       return outfitType;
   }
   public void setOutfitType(String outfitType) {
       this.outfitType = outfitType;
   }
   public double getPrice() {
       return price;
   }
   public void setPrice(double price) {
       this.price = price;
   }
  
}
class ExpensesInMonth{
   int month;
   List<Expenses> expenseList;
   public int getMonth() {
       return month;
   }
   public void setMonth(int month) {
       this.month = month;
   }
   public List<Expenses> getExpenseList() {
       return expenseList;
   }
   public void setExpenseList(List<Expenses> expenseList) {
       this.expenseList = expenseList;
   }
     
}

public class ExpenseTracker {
   static Vector<ExpensesInMonth>expenseVector = new Vector<ExpensesInMonth>();
   static Scanner sc = new Scanner(System.in);
   public static void main(String[] args) {
      
       int month;
       int choice = 0;
       do{
       System.out.println(\"*****Welcome to Shopaholic Software****\");
       System.out.println(\"Menu\");
       System.out.println(\"1- Enter a new Purchase.\");
       System.out.println(\"2-Track Spending per Month\");
       System.out.println(\"3-View purchases per Month\");
       System.out.println(\"0-Exit\");
       choice = Integer.parseInt(sc.next());
       if(choice == 1){
           takeInput();
       }
       else if(choice == 2){
           do{
               System.out.println(\"Please enter month of purchase : \");
               month = Integer.parseInt(sc.next());
           }while(month > 12 && month < 1);
           double totalSpending = spendings(month);
           System.out.println(\"The amount of money spent this month is : \"+totalSpending+\"$\");
       }
       else if(choice == 3){
           do{
               System.out.println(\"Please enter month of purchase : \");
               month = Integer.parseInt(sc.next());
           }while(month > 12 && month < 1);

           showSpendingByMonth(month);
       }
      
         
       }while(choice != 0);
   }
   private static void showSpendingByMonth(int month) {
      
      
       System.out.println(\"You purchased on Month \"+month+\" the following : \");
       if(expenseVector.size()>0){
           for(ExpensesInMonth ep :expenseVector){
               if(ep.getMonth() == month){
                   for(Expenses e : ep.getExpenseList()){
                       System.out.println(e.getOutfitType()+\" for \"+e.getPrice());
                  
                   }
               }
           }
       }
       else{
       System.out.println(\"list is empty\");      
           }
      
      
   }
   private static double spendings(int month) {
      
      
       double totalSpend = 0.0;
       if(expenseVector.size()>0)
       for(ExpensesInMonth ep :expenseVector){
           if(ep.getMonth() == month){
               for(Expenses e : ep.getExpenseList()){
                   totalSpend += e.getPrice();
               }
           }
       }
      
       return totalSpend;
   }
   private static void takeInput() {
       int month;
       String type;
       double price;
       char choice;
       ExpensesInMonth expensesInMonth = null;
       List<Expenses> expenses = null;
       Expenses expense = new Expenses();
       System.out.println(\"Please enter month of purchase : \");
       month = Integer.parseInt(sc.next());
       double spending = spendings(month);
       if(spending > 700){
           System.out.println(\"You have exceeded allowance of 700$ per month\");
           System.out.println(\"would you like to continue...(y)\");
           choice = sc.next().charAt(0);
           if(choice != \'y\'||choice != \'Y\'){
               return;
           }
       }
       for(ExpensesInMonth ep :expenseVector){
           if(ep.getMonth() == month){
               expensesInMonth = ep;
              
           }
       }
      
      
       System.out.println(\"Please enter Type of outfit purchased : \");
       type = sc.next();
      
       System.out.println(\"Please enter Price of outfit purchased : \");
       price = Double.parseDouble(sc.next());
       if(price + spending >700){
           System.out.println(\"You have exceeded allowance of 700$ per month\");
           System.out.println(\"would you like to continue...(y)\");
           choice = sc.next().charAt(0);
           if(choice != \'y\'||choice != \'Y\'){
               return;
           }
       }
       if(expensesInMonth != null){
           expenseVector.remove(expensesInMonth);
           expenses = expensesInMonth.getExpenseList();
       }else{
           expensesInMonth = new ExpensesInMonth();
           expenses = new ArrayList<Expenses>();
       }
       expensesInMonth.setMonth(month);
       expense.setOutfitType(type);
       expense.setPrice(price);
       expenses.add(expense);
      
       expensesInMonth.setExpenseList(expenses);
       expenseVector.add( expensesInMonth);
   }

}

Expenses Tracker Juliana is a shopaholic! Juliana needs a software that helps her keep track of her shopping expenses. Every time Juliana buys a new outfit, she
Expenses Tracker Juliana is a shopaholic! Juliana needs a software that helps her keep track of her shopping expenses. Every time Juliana buys a new outfit, she
Expenses Tracker Juliana is a shopaholic! Juliana needs a software that helps her keep track of her shopping expenses. Every time Juliana buys a new outfit, she
Expenses Tracker Juliana is a shopaholic! Juliana needs a software that helps her keep track of her shopping expenses. Every time Juliana buys a new outfit, she

Get Help Now

Submit a Take Down Notice

Tutor
Tutor: Dr Jack
Most rated tutor on our site