Java: Adds up columns and rows of given table as shown in the specified figure
Java Basic: Exercise-242 with Solution
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.
It will be nice if you may share this link in any developer community or anywhere else, from where other developers may find this content. Thanks.
https://w3resource.com/java-exercises/basic/java-basic-exercise-242.php
- Weekly Trends and Language Statistics
- Weekly Trends and Language Statistics