Site icon TestingDocs.com

Write a java program to compute multiplication table?

Problem Statement

Write a java program to compute multiplication table. Consider the following multiplication table, which we denote it by M:

Multiplication table function: M[i][j] = i*j

where 1<= (i,j) <=n

Run the program and test your program with some testcases.

Java Program

import java.util.InputMismatchException;
import java.util.Scanner;

public class MultiplicationTable {
    public static void main(String[] args) {
        int n;
        Scanner input = null;
        try {
            input = new Scanner(System.in);
            System.out.println("Enter size of the array:");
            n = input.nextInt();

            if (n > 0) {
                int[][] a = computeTable(n);
                printTable(a);
            } else {
                System.out.println("Enter positive number.");
                System.exit(0);
            }

        } catch (InputMismatchException ime) {
            System.out.println("Not a valid input");
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            if (input != null) {
                input.close();
            }
        }
    }

    static int[][] computeTable(int n) {
        int[][] a = new int[n][n];
        for (int i = 0; i < n; i++)
            for (int j = 0; j < n; j++)
                a[i][j] = (i+1)*(j+1);
        return a;
    }

    static void printTable(int[][] a) {
        for (int i = 0; i < a.length; i++) {
            for (int j = 0; j < a.length; j++)
                printWithSpace(a[i][j],10);
            System.out.println();
        }
    }
    static void printWithSpace(int n, int z) {
        String s = "" + n, space = "                    ";
        int l = s.length();
        System.out.print(space.substring(0, z-l) + s);
    }
}

 

Run output

TestCase: Happy paths

Enter size of the array:
5

1      2     3     4      5
2      4     6     8    10
3      6     9    12   15
4      8   12    16    20
5    10   15    20    25

Run output 2

Enter size of the array:
10
1       2      3     4     5       6       7       8       9      10
2       4      6     8   10     12      14     16     18     20
3       6      9   12   15     18      21     24      27    30
4       8    12   16    20     24     28     32      36    40
5     10    15   20    25     30     35     40      45    50
6     12    18   24    30     36     42     48      54    60
7     14    21   28    35     42     49     56      63    70
8     16    24   32    40     48     56     64      72    80
9     18    27   36    45     54     63     72       81   90
10    20   30   40    50     60     70     80      90   100

 

Testcase : Unhappy paths

Enter size of the array:
0
Enter positive number.

Another run

Enter size of the array:
table
Not a valid input

Exit mobile version