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
tankabanditka [31]
3 years ago
13

Your Java program will be reading input from a file name strInput.txt. Each record contains String firstname String lastName Str

ing strSalary (which will be converted to a double if it's valid- see below) char status String cityState (city and state and combine together but separated by a comma)
Sample input:
Ira Rudowsky 87654.32 F Brooklyn.NY
Jane Doe 987609.87 F NY NY
Mickey Mantle 345678.30 D Orlando FL
Fran Young 10456A.82 G Boston MA
Richard Clark 67890.32 D
Serena liams 1295609.87 D Denver, CO
Read from the file one record at a time and process as follows:
1. Any record whose status code is neither D or F should be written to the screen indicating the error. The next record should be read in
2. If the status code is D or F, validate the salary that it contains only digits and one decimal point 3 positions from the right (indicating cents)
a. If the salary is invalid, print the entire record to the screen, indicating the error (char at position x is not a digit or period is missing or period is in the wrong position)
b. If the salary is valid, convert it to a double c. If the status code is D, compute the bonus (double) as 12.5% of salary and 18% if the status code is F
3. Separate the cityState into two individual Strings named city and state. Use the comma to extract the city portion before the comma and the state after the comma
4. Each record that has a status of D should be written to a file named strOutputD and those record with status of F should be written to a file named strOutputRE.
a. For both files, each record printed should include firstName, lastName, status, salary, bonus, city and state
5. When all records have been read in, print to the screen the number of D, F and incorrect records processed
Engineering
1 answer:
stiks02 [169]3 years ago
6 0

Answer:

The program requires that you have the specified input files and it reads from each file at a time and processes salary in digits, states the city, state and bonus with respective first and last name as requested in the question. Note that you must have access to the mentioned output files for the program to work properly. Below is the java version of the program.

import java.io.File;

import java.io.FileNotFoundException;

import java.io.PrintWriter;

import java.util.Scanner;

class Driver

{

public static void main(String[] args) throws FileNotFoundException

{

Scanner sc = new Scanner(new File("strInput.txt"));

PrintWriter pd = new PrintWriter(new File("strOutputD"));

PrintWriter prf = new PrintWriter(new File("strOutputRF"));

String firstname = "", lastname = "", strSalary = "", status = "", cityState = "", city = "", state = "";

double salary = 0, bonus = 0;

int incorrectRecords = 0;

int dRecords = 0;

int fRecords = 0;

while(sc.hasNextLine())

{

firstname = sc.next();

lastname = sc.next();

strSalary = sc.next();

status = sc.next();

cityState = sc.next();

if(!status.equals("D") && !status.equals("F"))

{

System.out.println("Records is neither D nor F. Skipping this...");

incorrectRecords++;

continue;

}

else if(status.equals("D") || status.equals("F"))

{

char c = ' ';

int i = 0;

for(i=0; i<strSalary.length() && c != '.'; i++)

{

c = strSalary.charAt(i);

if(!Character.isDigit(c))

{

System.out.println("Char at position " + (i+1) + " in salary is not a digit");

incorrectRecords++;

continue;

}

}

if(c == '.')

{

if(i+1 == strSalary.length()-1)

{

if(!Character.isDigit(strSalary.charAt(i)))

{

System.out.println("Char at position " + (i+1) + " in salary is not a digit");

incorrectRecords++;

continue;

}

if(!Character.isDigit(strSalary.charAt(i+1)))

{

System.out.println("Char at position " + (i+1+1) + " in salary is not a digit");

incorrectRecords++;

continue;

}

}

else

{

System.out.println("Period is in the wrong position. Expected at " + (strSalary.length()-3) + " but found at " + (i+1));

continue;

}

}

city = cityState.split(",")[0];

state = cityState.split(",")[1];

salary = Double.parseDouble(strSalary);

if(status.equals("D"))

{

bonus = salary * 0.125;

dRecords++;

pd.write(firstname + " " + lastname + " " + status + " " + salary + " " + bonus + " " + city + " " + state);

}

else

{

bonus = salary * 0.18;

fRecords++;

prf.write(firstname + " " + lastname + " " + status + " " + salary + " " + bonus + " " + city + " " + state);

}

}

}

System.out.println("No of D records : " + dRecords);

System.out.println("No of F records : " + fRecords);

System.out.println("No of incorrect records : " + incorrectRecords);

}

}

You might be interested in
When leveraging Artificial Intelligence (AI) in today's business landscape, which statement represents the data leveraged for so
adoni [48]

Answer:

Some AI could end up taking the jobs of many humans.

Explanation:

Their intelligence exponentially grows and human intelligence grows gradually, causing more ideas and better work efficiency from AI.

8 0
3 years ago
The hypotenuse of a 45° right triangle is
wlad13 [49]
75+69 and divide by 54
4 0
3 years ago
Valves on steam lines are commonly encountered and you should know how they work. For most valves, the change in velocity of the
damaskus [11]

Answer:

The question is not complete. So, I try to find the complete question & complete answer of the question is given in attached file.

Explanation:

5 0
4 years ago
Don't break or crush mercury-containing lamps because mercury powder may be released.
alexandr402 [8]
A.

It would be released without a doubt so be careful!

Hope this helps :)
5 0
4 years ago
Identify three operational controls and explain<br> how to use them?
ladessa [460]

Answer:

5.1 Personnel Security. ...

5.2 Physical and Environmental Protection. ...

5.3 Production, Input and Output Controls. ...

5.4 Contingency Planning and Disaster Recovery. ...

5.5 System Configuration Management Controls. ...

5.6 Data Integrity / Validation Controls. ...

5.7 Documentation. ...

5.8 Security Awareness and Training.

8 0
3 years ago
Other questions:
  • A flow of 100 mgd is to be developed from a 190-mi^2 watershed. At the flow line the area's reservoir is estimated to cover 3900
    6·1 answer
  • Unlike in previous questions where we wanted you to complete a function we had started, here we want you to write a Python funct
    5·1 answer
  • Refrigerant-134a is throttled from the saturated liquid state at 800 kPa to a pressure of 140 kPa. Determine the temperature dro
    13·1 answer
  • Fin efficiency is defined in relation to the maximum possible heat transfer rate from the fin for given convective conditions. T
    10·1 answer
  • An instance of the stable marriage problem has a unique stable matching if and only if the version of the Gale-Shapely algorithm
    10·1 answer
  • What do auto mechanics do when they take out the spark plugs
    12·1 answer
  • A system that is not influence anyway by the surroundings is called a)- control mass system b)- Isothermal system c)-- isolated
    10·1 answer
  • 36. What is mass? (4.4)
    9·1 answer
  • . H<br> Kijwhayhwbbwyhwbwbwgwwgbwbwhwh
    6·2 answers
  • True or false?<br><br> Shops can mix refrigerants
    10·1 answer
Add answer
Login
Not registered? Fast signup
Signup
Login Signup
Ask question!