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
What is the correct sequence in which a computer operates​
GrogVix [38]

Answer:

Booting is a startup sequence that starts the operating system of a computer when it is turned on. A boot sequence is the initial set of operations that the computer performs when it is switched on. Every computer has a boot sequence.

8 0
2 years ago
Frank has created a résumé and separated the sections using headings. How can he set the headings apart from normal text?
Pepsi [2]
He could use bold or bigger text just a suggestion.
6 0
2 years ago
An ______ search is when the buyer looks for information beyond personal knowledge to help make the buying decision, such as che
victus00 [196]

Answer: External

Explanation: External search could be explained as the additional information gathered beyond an individual's personal knowledge or experience in a bit to influence the individual's decision on a particular product or topic. This additional information could include; information sought from friends and families, online or internet research on relevant site, blogs or publications.

Therefore, a buyer who asks a friend, checking the internet or visiting a showroom or make other enquiries beyond his personal knowledge in other to make buying decision is making an external search.

6 0
2 years ago
A(n) ___________ allows people at two or more locations to interact via two-way video and audio transmissions simultaneously as
nasty-shy [4]

Answer:

A(n) videoconference allows people at two or more locations to interact via two-way video and audio transmissions simultaneously as well as share documents, data, computer displays, and whiteboards.

6 0
2 years ago
1. The process of creating workable systems in a very short period of time is called
12345 [234]

Answer:

okay i know only 1st question and answer

answer:rapid application development

6 0
3 years ago
Other questions:
  • Please look at picture
    10·2 answers
  • divide the input array into thirds (rather than halves), recursively sort each third, and finally combine the results using a th
    15·1 answer
  • Which type of server runs Active Directory?
    12·1 answer
  • Mariah was working on a multimedia presentation that included both video and audio files. The file was huge, and she wanted to s
    13·2 answers
  • Can some one help me i do not now how to give a BRANLEST. if you help i will give you one BRANLEST.
    7·2 answers
  • Help me to write spaghetti stack function, please!!
    11·1 answer
  • If you are running a server , which of the follow operating system would be best suited ?window 10 or macOS
    8·1 answer
  • ☢☢☢does anyone know how to do the TYNKER CANNON assignment ( lesson 2 intro to game design) I'll give BRANLIEST(¬‿¬)❤ dont answe
    11·2 answers
  • Are there any apps in the App Store that allow people to ask a question about any topic and have skilled professionals answer it
    6·1 answer
  • (lesson 7.9: acceptance-rejection --- continuous examples.) consider the constant . on average, how many iterations (trials) wil
    6·1 answer
Add answer
Login
Not registered? Fast signup
Signup
Login Signup
Ask question!