Java: Adds up columns and rows of given table as shown in the specified figure
Add Rows and Columns of Spreadsheet Table
Your task is to develop a small piece of spreadsheet software. Write a Java program that adds up the columns and rows of a given table as shown in the specified figure.
Visual Presentation:
Input:
n (the size of row and column of the given table)
1st row of the table
2nd row of the table
:
:
n th row of the table
The input ends with a line consisting of a single 0.
Output:
For each dataset, print the table with sum of rows and columns.
Sample Solution:
Java Code:
// Importing the necessary Java utility package
import java.util.*;
// Main class named "Main"
public class Main {
// Main method, the entry point of the program
public static void main(String[] args) {
// Creating a Scanner object to read input from the console
Scanner sc = new Scanner(System.in);
// Prompting the user to input the number of rows/columns (0 to exit)
System.out.println("Input number of rows/columns (0 to exit)");
// Continuous loop to handle multiple inputs until 0 is entered
while (true) {
// Reading an integer from the user
int n = sc.nextInt();
// Checking if the entered value is 0, and breaking the loop if true
if (n == 0) break;
// Creating a 2D array 'map' with dimensions (n+1) x (n+1)
int[][] map = new int[n + 1][n + 1];
// Nested loops to populate the 'map' array with user inputs and calculate row sums
for (int i = 0; i < n; i++) {
for (int j = 0; j < n; j++) {
map[i][j] = sc.nextInt();
map[i][n] += map[i][j];
}
map[n][n] += map[i][n];
}
// Nested loops to calculate column sums
for (int i = 0; i < n; i++) {
for (int j = 0; j < n; j++) {
map[n][i] += map[j][i];
}
}
// Printing the result header
System.out.println("Result:");
// Nested loops to print the final 'map' array
for (int i = 0; i < n + 1; i++) {
for (int j = 0; j < n + 1; j++) {
// Formatting and printing each element of the array
System.out.printf("%5d", map[i][j]);
}
// Moving to the next line after each row is printed
System.out.println();
}
}
}
}
Sample Output:
Input number of rows/columns (0 to exit) 4 25 69 51 26 68 35 29 54 54 57 45 63 61 68 47 59 Result: 25 69 51 26 171 68 35 29 54 186 54 57 45 63 219 61 68 47 59 235 208 229 172 202 811
Flowchart:
Java Code Editor:
Contribute your code and comments through Disqus.
Previous: Write a Java program to find the number of combinations that satisfy p + q + r + s = n where n is a given number <= 4000 and p, q, r, s in the range of 0 to 1000.
Next: Write a Java program which reads a list of pairs of a word and a page number, and prints the word and a list of the corresponding page numbers.
What is the difficulty level of this exercise?
Test your Programming skills with w3resource's quiz.
- Weekly Trends and Language Statistics
- Weekly Trends and Language Statistics