Write a program that computes the monthly bill for an MC Wireless

Write a program that computes the monthly bill for an MC Wireless user. Call this program PhoneBill.java.
The MCW plans charge $20 for each phone line. The data is shared between all of the phone lines:
S: 1 GB, $30
M: 3 GB, $45
L: 6 GB, $60
XL: 12 GB, $80
If the amount of data used is more than allowed in the plan, the overage charge is $15 for each extra GB or fraction of a GB. For example, if the account uses an extra .2 GB, the overage charge is $15. If the account uses an extra 1 GB, the overage charge is $15. If the account uses an extra 2.7 GB, the overage charge is $45.
There are some taxes and fees in addition to the line charges and data charges. There is a federal regulatory charge of 2.75 for the account. There is a state communications tax of 3% on the total bill (before any taxes and fees). And there is a 911 response charge of 0.90 for each phone line.
Input
name of the account holder (on first line, read whole name with one statement)
date (on second line, read whole date with one statement)
account number
number of lines
name of plan (S, M, L, or XL: read as a String)
GB used (a double)
Make sure you format the input data exactly as given above.
Output
Format your output to look like the following:
MCC Wireless Charges for
Date:
Charges:
Lines:
Data ():
Data Overage:
Subtotal:
Taxes and Fees:
Federal:
911 Response:
State Tax:
Total Taxes and Fees:
Total:
Inside the you should print the values calculated by your program. Use printf to print all amounts with 2 decimal places and line everything up nicely. Use a do-while loop so that the program can process multiple wireless phone bills. After processing the first bill, ask the user whether they would like to process another bill. The user should enter yes or no. Read in the user’s response and process another bill if requested. Make sure you use the words yes and no to control your loop. You may use input data validation.
3. Write a program that reads in a number, let’s call it limit, and then prints a chart which starts with the number 1 and goes up to limit. Call this program Table.java. (20 points)
For each number from 1 to limit, the chart should show the number, the number squared, and the number cubed. For example, if the user enters 10, the program should print:
num squared cubed
1 1 1
2 4 8
3 9 27
4 16 64
5 25 125
6 36 216
7 49 343
8 64 512
9 81 729
10 100 1000
** Use a for loop to do this task. **

4. Write a program that uses File I/O (input and output files). Call the program File_IO.java. (30 points)
Use Notepad or Textpad to create a file called InputNumbers.txt. Your file should have the following positive integers.
25 35 40
12 23 28
89 45 67
45 78 56
33 66 77
90 80 30
34 55 96
You may create the file with 1 integer on each line or a few integers on each line as shown.
Write a Java program that will read the integers in the file until EOF is reached (hint: use a loop). The program should compute and print:
the total sum of all the integers read
the count of all the even integers read
the count of all the odd integers read
the average of all the numbers read
Send the output to a file called FileOut.txt
Make sure there is one line in the output file for each of output that is printed. In addition, format the average to have two digits of precision after the decimal point.