1answer.
Ask question
Login Signup
Ask question
All categories
  • English
  • Mathematics
  • Social Studies
  • Business
  • History
  • Health
  • Geography
  • Biology
  • Physics
  • Chemistry
  • Computers and Technology
  • Arts
  • World Languages
  • Spanish
  • French
  • German
  • Advanced Placement (AP)
  • SAT
  • Medicine
  • Law
  • Engineering
mart [117]
3 years ago
6

Fred wants to analyze his spending habits of the past few years and has gathered information on the checks he has written from 2

014 – 2018. The data is in a file in the form YYYY XXXXXX.XX where YYYY represents the year and XXXXXX.XX represents the dollar amount of the check. Because it took a while to gather the information, the data is not in year order. See the Input Data at the end of the assignment. After reading in the data, he wants to print a report by year of the number of checks written, the total amount spent and the average amount of the check. Also, an overall total of the five years appears after the individual data of each year.
Using one array to store the running total of the check amounts by year, an array to hold the number of checks written by year write the Java code to read and store the data and then do the necessary computations to produce a report in the format below. Use printf to display the dollar amounts with two decimal places and right adjust all output. You can set an int variable baseYear to 2014 and subtract it from the actual year to get the correct subscript in each array.

Sample report
Year # Checks Total Spent Average Check
2014 25 3452.23 198.02
. . . .
. . . .
. . . .
2018 33 1097.87 125.67
Overall Total 254 15478.98 167.65

The numbers appearing in the sample report above are not related to the actual input data to follow.
Input Data

2017 876.20
2014 345.67
2014 100.00
2016 345.89
2017 45.34
2015 89.23
2016 1000.00
2017 239.09
2018 67.89
2018 198.00
2015 145.45
2018 180.00
2015 505.23
2014 78.65
2014 42.98
2014 370.00
Computers and Technology
1 answer:
finlep [7]3 years ago
4 0

Answer:

See explaination

Explanation:

import java.io.File;

import java.io.FileNotFoundException;

import java.util.Scanner;

public class SpendAnalysis {

// year 2014 data will be at index 0

// year 2015 data will be at index 1

// year 2016 data will be at index 2

// year 2017 data will be at index 3

// year 2018 data will be at index 4

private static int[] checkIssued={0,0,0,0,0}; // will store the count of check for the year

private static double[] totalAmount={0,0,0,0,0}; // will store the total amount spent for that year

private static final int BASE_YEAR=2014; // base year

// need to update the below line so that it points to the input text file need to be read

private static final String INPUT_FILE="D:\\spent.txt";

public static void main(String[] args) {

// first read all the data from the input file and populate the array

try {

populateData();

} catch (FileNotFoundException e) {

System.out.println(INPUT_FILE+" could not read. Program will terminate now.");

System.exit(1);

}

// second print the data in the console

reportSpending();

}

// read data from input file and update the two arrays

public static void populateData() throws FileNotFoundException {

Scanner fileInput = new Scanner(new File(INPUT_FILE));

while(fileInput.hasNext()){

String[] lineTokens = fileInput.nextLine().split("\\s+");

if(lineTokens.length==2){

int year = Integer.parseInt(lineTokens[0].trim());

double amount = Double.parseDouble(lineTokens[1].trim());

checkIssued[year-BASE_YEAR]+=1;

totalAmount[year-BASE_YEAR]+=amount;

}

}

}

// print the report in the console

public static void reportSpending(){

System.out.println(String.format("%-13s%-15s%-15s%-15s","Year","# Checks","Total Spent","Average Check"));

System.out.println(String.format("%-15d%-15d$%-15.2f$%-15.2f",2014,checkIssued[0],totalAmount[0],totalAmount[0]/checkIssued[0]));

System.out.println(String.format("%-15d%-15d$%-15.2f$%-15.2f",2015,checkIssued[1],totalAmount[1],totalAmount[1]/checkIssued[1]));

System.out.println(String.format("%-15d%-15d$%-15.2f$%-15.2f",2016,checkIssued[2],totalAmount[2],totalAmount[2]/checkIssued[2]));

System.out.println(String.format("%-15d%-15d$%-15.2f$%-15.2f",2017,checkIssued[3],totalAmount[3],totalAmount[3]/checkIssued[3]));

System.out.println(String.format("%-15d%-15d$%-15.2f$%-15.2f",2018,checkIssued[4],totalAmount[4],totalAmount[4]/checkIssued[4]));

int totalChecks = checkIssued[0]+checkIssued[1]+checkIssued[2]+checkIssued[3]+checkIssued[4];

double totalSpent = totalAmount[0]+totalAmount[1]+totalAmount[2]+totalAmount[3]+totalAmount[4];

System.out.println(String.format("%-15s%-15d$%-15.2f$%-15.2f","Overall Total",totalChecks,totalSpent,totalSpent/totalChecks));

}

}

You might be interested in
When performing the ipconfig command, what does the following output line depict if found in the tunnel adapter settings?
Andrew [12]

Answer:

d. IPv4 Address 192.168.0.4 is associated with the globe IPv6 address 2001:db8:0:10:0:efe

Explanation:

The adapter setting will be associated with the global IP address. When Ipconfig command is operate the IP address finds the relevant domain and then address will use a different subnet. The network will use both IPv4 and IPv6 subnets in order to execute the command.

8 0
2 years ago
3<br> Select the correct answer.<br> What is the output of the following HTML code?<br>Please
maw [93]

Answer: or element_id Specifies the relationship between the result of the calculation, and the elements used in the calculation

form form_id Specifies which form the output element belongs to

name name Specifies a name for the output element

Explanation:

7 0
2 years ago
Read 2 more answers
"In spreadsheet programs, labels and constant values are always copied exactly to the new location; what happens to formulas whe
Alex17521 [72]

Answer: Absolute cell referencing

Explanation:

 The absolute cell referencing is one of the type of cell reference address that basically contain the dollar sign in the spreadsheet applications. It is one of the important element as it helps in referring the constant values in the spreadsheet programs.

  • The absolute cell referencing is copied and also moved from one cell to another in the new location.
  • The size and also the shape are also remain constant in the spreadsheet.

According to the given question, the absolute cell referencing is also known as the relative cell referencing as they use the formulas for copied the values in the microsoft office excel for find out the data.

 Therefore, Absolute cell referencing is the correct answer.

8 0
2 years ago
Clicking a _____ name opens a drop-down list of commands and options.
UkoKoshka [18]
Clicking a menu opens a drop-down list of commands and options. According to Merriam dictionary, menu is defined as a list of things that you can choose from ; especially computers or a list shown on a computer from which you make choices to control what the computer does.
6 0
2 years ago
How long will my chromebook last if it is at 30 percent
Marta_Voda [28]

Answer:

You can see an estimated battery life time.

Explanation:

To see it simply put your mouse over the battery icon, don't click it and it should give you the life it has left in hours:minutes format.

5 0
2 years ago
Other questions:
  • Pros and cons of Processor Throttling or Scaling?
    13·1 answer
  • What type of firestopping technology expands as much as 25 times in volume?
    6·1 answer
  • Problem 1: Create a list that contains the months of the year. Problem 2: Create a loop to print the month number and name (do n
    7·1 answer
  • Which shape denotes a process to be carried out in a flowchart?
    7·2 answers
  • The _____ feature will allow users to view nonprinting formatting marks to aid in editing a document. View Alignment Show/Hide I
    12·1 answer
  • Creating parts that are interchangeable in manufacturing terms is key to the ____ line
    15·1 answer
  • Raul needs to ensure that when users enter an order into the tblOrders, the shipping date is at least two days after
    9·2 answers
  • Which tools is used to bundle cables neatly inside and outside of a computer?​
    15·1 answer
  • I'm stupid and Idk how to take a pic on a Chromebook so, I want to know how to take a pic on a cromebook.
    11·1 answer
  • A character that <br>is raised and smaller above the baseline is called​
    6·1 answer
Add answer
Login
Not registered? Fast signup
Signup
Login Signup
Ask question!