JAVA PROGRAM Chapter 7. PC #16. 2D Array Operations with Additional Requirements Write a program that creates an ArrayList of ArrayList of Doubles. The program should ask the user to enter the filename from the keyboard and validate the file for existence. Once the file is verified, the program should load the two-dimensional ArrayList with test data from the file. Be careful, as some of the files will contain rows with different number of elements. The program should work regardless whether the input data is perfectly rectangular or ragged. The program should have the following methods: • main. Main entry point for the program. • getRowSubtotal. This method should accept a two-dimensional ArrayList as its first argument and an integer as its second argument. The second argument should be the index of the row in the ArrayList. The method should return the subtotal of the values in the specified row. • getColSubtotal. This method should accept a two-dimensional ArrayList as its first argument and an integer as its second argument. The second argument should be the index of the column in the ArrayList. The method should return the subtotal of the values in the specified column. If any of the rows has a size that is less than the column number, then that row should be skipped when calculating the column subtotal. • getTotal. This method should accept a two-dimensional array as its argument and return the total of all the values in the array. Demonstrate each of the methods in this program. PLEASE MAKE THIS PROGRAM SO ALL LENGHTS, HEIGHS AND ARRAY ELEMENTS ARE IN THREE DIGITS AFTER THE DEICIMAL POINT. I PROVIDED SCREENSHOTS OF THE FAILED TEST CASES. Input1.txt 1 2 3 4 5 6 7 8 9 Input2.txt 555.66 333.44 123.45 778.88 900.00 123.12 234.23 567.98 12.12 Input3.txt 555.66 333.44 123.45 555.66 333.44 123.45 778.88 900.00 123.12 778.88 900.00 123.12 234.23 567.98 12.12 234.23 567.98 12.12 Input4.txt 555.66 333.44 123.45 778.88 900.00 123.12 234.23 567.98 12.12 555.66 333.44 123.45 778.88 900.00 123.12 234.23 567.98 12.12 555.66 333.44 123.45 778.88 900.00 123.12 234.23 567.98 12.12 Input5.txt 555.66 333.44 123.45 555.66 333.44 123.45 778.88 900.00 123.12 778.88 900.00 234.23 567.98 12.12 234.23 Input6.txt 555.66 333.44 123.45 555.66 778.88 900.00 123.12 778.88 900.00 234.23 567.98 12.12 234.23 567.98 12.12 Input7.txt 555.66 333.44 123.45 755.23 778.88 900.00 123.12 234.23 567.98 555.66 778.88 900.00 123.12 999.99 234.23 567.98 12.12 555.66 333.44 778.88 234.23 567.98 12.12 987.65 432.11 820.17 Input8.txt 555.66 778.88 900.00 234.23 567.98 333.44 555.66 123.45 755.23 888.88 778.88 900.00 123.12 999.99 777.77 778.88 900.00 123.12 999.99 777.77 666.66 778.88 900.00 123.12 999.99 777.77 555.55 444.44 778.88 900.00 123.12 999.99 777.77 333.33 222.22 111.11 Test Case 1 Please enter the file name or type QUIT to exit:\n quitENTER Test Case 2 Please enter the file name or type QUIT to exit:\n QUITENTER Test Case 3 Please enter the file name or type QUIT to exit:\n qUiTENTER Test Case 4 Please enter the file name or type QUIT to exit:\n QuItENTER Test Case 5 Please enter the file name or type QUIT to exit:\n badfile.txtENTER File: badfile.txt does not exist.\n Please enter the file name again or type QUIT to exit:\n quitENTER Test Case 6 Please enter the file name or type QUIT to exit:\n badfile.txtENTER File: badfile.txt does not exist.\n Please enter the file name again or type QUIT to exit:\n QUITENTER Test Case 7 Please enter the file name or type QUIT to exit:\n badfile.txtENTER File: badfile.txt does not exist.\n Please enter the file name again or type QUIT to exit:\n QuItENTER Test Case 8 Please enter the file name or type QUIT to exit:\n badfile.txtENTER File: badfile.txt does not exist.\n Please enter the file name again or type QUIT to exit:\n qUiTENTER Test Case 9 Please enter the file name or type QUIT to exit:\n input1.txtENTER Row 0 Length: 3, Subtotal: 6.000\n Row 1 Length: 3, Subtotal: 15.000\n Row 2 Length: 3, Subtotal: 24.000\n Column 0 Height: 3, Subtotal: 12.000\n Column 1 Height: 3, Subtotal: 15.000\n Column 2 Height: 3, Subtotal: 18.000\n Array Elements: 9, Total: 45.000\n Test Case 10 Please enter the file name or type QUIT to exit:\n badfile.txtENTER File: badfile.txt does not exist.\n Please enter the file name again or type QUIT to exit:\n input2.txtENTER Row 0 Length: 3, Subtotal: 1012.550\n Row 1 Length: 3, Subtotal: 1802.000\n Row 2 Length: 3, Subtotal: 814.330\n Column 0 Height: 3, Subtotal: 1568.770\n Column 1 Height: 3, Subtotal: 1801.420\n Column 2 Height: 3, Subtotal: 258.690\n Array Elements: 9, Total: 3628.880\n
JAVA PROGRAM Chapter 7. PC #16. 2D Array Operations with Additional Requirements Write a program that creates an ArrayList of ArrayList of Doubles. The program should ask the user to enter the filename from the keyboard and validate the file for existence. Once the file is verified, the program should load the two-dimensional ArrayList with test data from the file. Be careful, as some of the files will contain rows with different number of elements. The program should work regardless whether the input data is perfectly rectangular or ragged. The program should have the following methods: • main. Main entry point for the program. • getRowSubtotal. This method should accept a two-dimensional ArrayList as its first argument and an integer as its second argument. The second argument should be the index of the row in the ArrayList. The method should return the subtotal of the values in the specified row. • getColSubtotal. This method should accept a two-dimensional ArrayList as its first argument and an integer as its second argument. The second argument should be the index of the column in the ArrayList. The method should return the subtotal of the values in the specified column. If any of the rows has a size that is less than the column number, then that row should be skipped when calculating the column subtotal. • getTotal. This method should accept a two-dimensional array as its argument and return the total of all the values in the array. Demonstrate each of the methods in this program. PLEASE MAKE THIS PROGRAM SO ALL LENGHTS, HEIGHS AND ARRAY ELEMENTS ARE IN THREE DIGITS AFTER THE DEICIMAL POINT. I PROVIDED SCREENSHOTS OF THE FAILED TEST CASES. Input1.txt 1 2 3 4 5 6 7 8 9 Input2.txt 555.66 333.44 123.45 778.88 900.00 123.12 234.23 567.98 12.12 Input3.txt 555.66 333.44 123.45 555.66 333.44 123.45 778.88 900.00 123.12 778.88 900.00 123.12 234.23 567.98 12.12 234.23 567.98 12.12 Input4.txt 555.66 333.44 123.45 778.88 900.00 123.12 234.23 567.98 12.12 555.66 333.44 123.45 778.88 900.00 123.12 234.23 567.98 12.12 555.66 333.44 123.45 778.88 900.00 123.12 234.23 567.98 12.12 Input5.txt 555.66 333.44 123.45 555.66 333.44 123.45 778.88 900.00 123.12 778.88 900.00 234.23 567.98 12.12 234.23 Input6.txt 555.66 333.44 123.45 555.66 778.88 900.00 123.12 778.88 900.00 234.23 567.98 12.12 234.23 567.98 12.12 Input7.txt 555.66 333.44 123.45 755.23 778.88 900.00 123.12 234.23 567.98 555.66 778.88 900.00 123.12 999.99 234.23 567.98 12.12 555.66 333.44 778.88 234.23 567.98 12.12 987.65 432.11 820.17 Input8.txt 555.66 778.88 900.00 234.23 567.98 333.44 555.66 123.45 755.23 888.88 778.88 900.00 123.12 999.99 777.77 778.88 900.00 123.12 999.99 777.77 666.66 778.88 900.00 123.12 999.99 777.77 555.55 444.44 778.88 900.00 123.12 999.99 777.77 333.33 222.22 111.11 Test Case 1 Please enter the file name or type QUIT to exit:\n quitENTER Test Case 2 Please enter the file name or type QUIT to exit:\n QUITENTER Test Case 3 Please enter the file name or type QUIT to exit:\n qUiTENTER Test Case 4 Please enter the file name or type QUIT to exit:\n QuItENTER Test Case 5 Please enter the file name or type QUIT to exit:\n badfile.txtENTER File: badfile.txt does not exist.\n Please enter the file name again or type QUIT to exit:\n quitENTER Test Case 6 Please enter the file name or type QUIT to exit:\n badfile.txtENTER File: badfile.txt does not exist.\n Please enter the file name again or type QUIT to exit:\n QUITENTER Test Case 7 Please enter the file name or type QUIT to exit:\n badfile.txtENTER File: badfile.txt does not exist.\n Please enter the file name again or type QUIT to exit:\n QuItENTER Test Case 8 Please enter the file name or type QUIT to exit:\n badfile.txtENTER File: badfile.txt does not exist.\n Please enter the file name again or type QUIT to exit:\n qUiTENTER Test Case 9 Please enter the file name or type QUIT to exit:\n input1.txtENTER Row 0 Length: 3, Subtotal: 6.000\n Row 1 Length: 3, Subtotal: 15.000\n Row 2 Length: 3, Subtotal: 24.000\n Column 0 Height: 3, Subtotal: 12.000\n Column 1 Height: 3, Subtotal: 15.000\n Column 2 Height: 3, Subtotal: 18.000\n Array Elements: 9, Total: 45.000\n Test Case 10 Please enter the file name or type QUIT to exit:\n badfile.txtENTER File: badfile.txt does not exist.\n Please enter the file name again or type QUIT to exit:\n input2.txtENTER Row 0 Length: 3, Subtotal: 1012.550\n Row 1 Length: 3, Subtotal: 1802.000\n Row 2 Length: 3, Subtotal: 814.330\n Column 0 Height: 3, Subtotal: 1568.770\n Column 1 Height: 3, Subtotal: 1801.420\n Column 2 Height: 3, Subtotal: 258.690\n Array Elements: 9, Total: 3628.880\n
Programming Logic & Design Comprehensive
9th Edition
ISBN:9781337669405
Author:FARRELL
Publisher:FARRELL
Chapter7: File Handling And Applications
Section: Chapter Questions
Problem 14RQ
Related questions
Question
JAVA
Chapter 7. PC #16. 2D Array Operations with Additional Requirements
Write a program that creates an ArrayList of ArrayList of Doubles. The program should ask the user to enter the filename from the keyboard and validate the file for existence. Once the file is verified, the program should load the two-dimensional ArrayList with test data from the file. Be careful, as some of the files will contain rows with different number of elements. The program should work regardless whether the input data is perfectly rectangular or ragged. The program should have the following methods:
• main. Main entry point for the program.
• getRowSubtotal. This method should accept a two-dimensional ArrayList as its first argument and an integer as its second argument. The second argument should be the index of the row in the ArrayList. The method should return the subtotal of the values in the specified row.
• getColSubtotal. This method should accept a two-dimensional ArrayList as its first argument and an integer as its second argument. The second argument should be the index of the column in the ArrayList. The method should return the subtotal of the values in the specified column. If any of the rows has a size that is less than the column number, then that row should be skipped when calculating the column subtotal.
• getTotal. This method should accept a two-dimensional array as its argument and return the total of all the values in the array.
Demonstrate each of the methods in this program.
PLEASE MAKE THIS PROGRAM SO ALL LENGHTS, HEIGHS AND ARRAY ELEMENTS ARE IN THREE DIGITS AFTER THE DEICIMAL POINT. I PROVIDED SCREENSHOTS OF THE FAILED TEST CASES.
Input1.txt
1 2 3
4 5 6
7 8 9
4 5 6
7 8 9
Input2.txt
555.66 333.44 123.45
778.88 900.00 123.12
234.23 567.98 12.12
778.88 900.00 123.12
234.23 567.98 12.12
Input3.txt
555.66 333.44 123.45 555.66 333.44 123.45
778.88 900.00 123.12 778.88 900.00 123.12
234.23 567.98 12.12 234.23 567.98 12.12
778.88 900.00 123.12 778.88 900.00 123.12
234.23 567.98 12.12 234.23 567.98 12.12
Input4.txt
555.66 333.44 123.45
778.88 900.00 123.12
234.23 567.98 12.12
555.66 333.44 123.45
778.88 900.00 123.12
234.23 567.98 12.12
555.66 333.44 123.45
778.88 900.00 123.12
234.23 567.98 12.12
778.88 900.00 123.12
234.23 567.98 12.12
555.66 333.44 123.45
778.88 900.00 123.12
234.23 567.98 12.12
555.66 333.44 123.45
778.88 900.00 123.12
234.23 567.98 12.12
Input5.txt
555.66 333.44 123.45 555.66 333.44 123.45
778.88 900.00 123.12 778.88 900.00
234.23 567.98 12.12 234.23
778.88 900.00 123.12 778.88 900.00
234.23 567.98 12.12 234.23
Input6.txt
555.66 333.44 123.45 555.66
778.88 900.00 123.12 778.88 900.00
234.23 567.98 12.12 234.23 567.98 12.12
778.88 900.00 123.12 778.88 900.00
234.23 567.98 12.12 234.23 567.98 12.12
Input7.txt
555.66 333.44 123.45 755.23
778.88 900.00 123.12
234.23 567.98
555.66
778.88 900.00 123.12 999.99
234.23 567.98 12.12
555.66 333.44
778.88
234.23 567.98 12.12 987.65 432.11
820.17
778.88 900.00 123.12
234.23 567.98
555.66
778.88 900.00 123.12 999.99
234.23 567.98 12.12
555.66 333.44
778.88
234.23 567.98 12.12 987.65 432.11
820.17
Input8.txt
555.66
778.88 900.00
234.23 567.98 333.44
555.66 123.45 755.23 888.88
778.88 900.00 123.12 999.99 777.77
778.88 900.00 123.12 999.99 777.77 666.66
778.88 900.00 123.12 999.99 777.77 555.55 444.44
778.88 900.00 123.12 999.99 777.77 333.33 222.22 111.11
778.88 900.00
234.23 567.98 333.44
555.66 123.45 755.23 888.88
778.88 900.00 123.12 999.99 777.77
778.88 900.00 123.12 999.99 777.77 666.66
778.88 900.00 123.12 999.99 777.77 555.55 444.44
778.88 900.00 123.12 999.99 777.77 333.33 222.22 111.11
Test Case 1
Please enter the file name or type QUIT to exit:\n
quitENTER
quitENTER
Test Case 2
Please enter the file name or type QUIT to exit:\n
QUITENTER
QUITENTER
Test Case 3
Please enter the file name or type QUIT to exit:\n
qUiTENTER
qUiTENTER
Test Case 4
Please enter the file name or type QUIT to exit:\n
QuItENTER
QuItENTER
Test Case 5
Please enter the file name or type QUIT to exit:\n
badfile.txtENTER
File: badfile.txt does not exist.\n
Please enter the file name again or type QUIT to exit:\n
quitENTER
badfile.txtENTER
File: badfile.txt does not exist.\n
Please enter the file name again or type QUIT to exit:\n
quitENTER
Test Case 6
Please enter the file name or type QUIT to exit:\n
badfile.txtENTER
File: badfile.txt does not exist.\n
Please enter the file name again or type QUIT to exit:\n
QUITENTER
badfile.txtENTER
File: badfile.txt does not exist.\n
Please enter the file name again or type QUIT to exit:\n
QUITENTER
Test Case 7
Please enter the file name or type QUIT to exit:\n
badfile.txtENTER
File: badfile.txt does not exist.\n
Please enter the file name again or type QUIT to exit:\n
QuItENTER
badfile.txtENTER
File: badfile.txt does not exist.\n
Please enter the file name again or type QUIT to exit:\n
QuItENTER
Test Case 8
Please enter the file name or type QUIT to exit:\n
badfile.txtENTER
File: badfile.txt does not exist.\n
Please enter the file name again or type QUIT to exit:\n
qUiTENTER
badfile.txtENTER
File: badfile.txt does not exist.\n
Please enter the file name again or type QUIT to exit:\n
qUiTENTER
Test Case 9
Please enter the file name or type QUIT to exit:\n
input1.txtENTER
Row 0 Length: 3, Subtotal: 6.000\n
Row 1 Length: 3, Subtotal: 15.000\n
Row 2 Length: 3, Subtotal: 24.000\n
Column 0 Height: 3, Subtotal: 12.000\n
Column 1 Height: 3, Subtotal: 15.000\n
Column 2 Height: 3, Subtotal: 18.000\n
Array Elements: 9, Total: 45.000\n
input1.txtENTER
Row 0 Length: 3, Subtotal: 6.000\n
Row 1 Length: 3, Subtotal: 15.000\n
Row 2 Length: 3, Subtotal: 24.000\n
Column 0 Height: 3, Subtotal: 12.000\n
Column 1 Height: 3, Subtotal: 15.000\n
Column 2 Height: 3, Subtotal: 18.000\n
Array Elements: 9, Total: 45.000\n
Test Case 10
Please enter the file name or type QUIT to exit:\n
badfile.txtENTER
File: badfile.txt does not exist.\n
Please enter the file name again or type QUIT to exit:\n
input2.txtENTER
Row 0 Length: 3, Subtotal: 1012.550\n
Row 1 Length: 3, Subtotal: 1802.000\n
Row 2 Length: 3, Subtotal: 814.330\n
Column 0 Height: 3, Subtotal: 1568.770\n
Column 1 Height: 3, Subtotal: 1801.420\n
Column 2 Height: 3, Subtotal: 258.690\n
Array Elements: 9, Total: 3628.880\n
badfile.txtENTER
File: badfile.txt does not exist.\n
Please enter the file name again or type QUIT to exit:\n
input2.txtENTER
Row 0 Length: 3, Subtotal: 1012.550\n
Row 1 Length: 3, Subtotal: 1802.000\n
Row 2 Length: 3, Subtotal: 814.330\n
Column 0 Height: 3, Subtotal: 1568.770\n
Column 1 Height: 3, Subtotal: 1801.420\n
Column 2 Height: 3, Subtotal: 258.690\n
Array Elements: 9, Total: 3628.880\n
Expert Solution
This question has been solved!
Explore an expertly crafted, step-by-step solution for a thorough understanding of key concepts.
Step by step
Solved in 3 steps with 10 images
Knowledge Booster
Learn more about
Need a deep-dive on the concept behind this application? Look no further. Learn more about this topic, computer-science and related others by exploring similar questions and additional content below.Recommended textbooks for you
Programming Logic & Design Comprehensive
Computer Science
ISBN:
9781337669405
Author:
FARRELL
Publisher:
Cengage
Programming Logic & Design Comprehensive
Computer Science
ISBN:
9781337669405
Author:
FARRELL
Publisher:
Cengage