paint-brush
How to Implement Expansion Formulas in Javaby@mayankvikash
628 reads
628 reads

How to Implement Expansion Formulas in Java

by Mayank VikashAugust 8th, 2022
Read on Terminal Reader
Read this story w/o Javascript
tldt arrow

Too Long; Didn't Read

A program in Java could take the input in variables 'a' and 'b' and then it will ask the user which formulae of expansion they want to perform. Currently, it has only 5 formulas because I am lazy to add more. This will work for Maths but in Java, you have to do a little bit more work. The program will run if the user enters choice 1, the program will calculate (a+b)² from the given values of **a** and **b**.

Company Mentioned

Mention Thumbnail
featured image - How to Implement Expansion Formulas in Java
Mayank Vikash HackerNoon profile picture


I was practicing Maths and a thought came up to my mind that I should make a program in Java that could take the input in variables 'a' and 'b' and then it will ask the user which formulae of expansion they want to perform.


Asking users which formulae they want to use

Something like this. Currently, it has only 5 formulas because I am lazy to add more.


Code

I started with displaying the formulas this program can execute in the console


    System.out.println("Choose the Formula");
    System.out.println("Enter 1 for (a+b)^2");
    System.out.println("Enter 2 for (a-b)^2");
    System.out.println("Enter 3 for (a^2 - b^2)");
    System.out.println("Enter 4 for (a+b)^3");
    System.out.println("Enter 5 for (a-b)^3");


So, this program will work for the following formulas:

  • (a+b)²
  • (a-b)²
  • (a² - b²)
  • (a+b)³
  • (a-b)³


I took the input of the choice in a variable ip (Don't know why I chose this name 😅) which is of integer data type.


    int  ip = sc.nextInt();


I also took the value of 'a' and 'b' as input, because they are common variables (Common variables are the variables that are repeatedly used in every conditional statement, it is preferred to take the common variable's value input before the conditional statements start.)


    System.out.println("Enter the value of a and b");
    double  a = sc.nextDouble();
    double  b = sc.nextDouble();


The variables a and b will contain the values, input by the user. (Note: variables a and b are of the double datatype, because the user may want to enter a decimal number.)


Now, when you have got the values, you just have to put the formula and solve it. This will work for Maths but in Java, you have to do a little bit more work.


First, there is a condition, which will execute the formulae which the user has entered.

Condition Statement


For example, if the user entered choice 1, the program will calculate (a+b)² from the given values of a and b.


Similarly, if the user entered choice 5, the program will calculate (a-b)³. If the user enters any other choice, he will get the output: "Wrong Choice".


This is the block of statements that will execute if the user enters choice 1:


ans = a*a + 2*a*b + b*b;
System.out.println("Working:");
System.out.println("a*a + 2*a*b + b*b");
System.out.println(ans);


Note: (a+b)² = a² + b² + 2ab but, in Java this expression will be written as,


a*a + 2*a*b + b*b


Similarly, expressions for the rest of the formulas:

  • (a-b)²


a*a - 2*a*b + b*b


  • a²-b²


(a+b) * (a-b)


  • (a+b)³


a*a*a + b*b*b + 3*a*b *(a+b)


  • (a-b)³


a*a*a - b*b*b - 3*a*b *(a-b)


Pretty easy, right? Let me know on Twitter at @MayankVikash1 Made by: Mayank Vikash


Source Code

import java.util.*;

public class ExpansionFormulas {

    public static void main(String[] args) {

        Scanner sc = new Scanner(System.in);

        double ans;

        System.out.println("Choose the Formula");

        System.out.println("Enter 1 for (a+b)^2");

        System.out.println("Enter 2 for (a-b)^2");

        System.out.println("Enter 3 for (a^2 - b^2)");

        System.out.println("Enter 4 for (a+b)^3");

        System.out.println("Enter 5 for (a-b)^3");

        int ip = sc.nextInt();

        System.out.println("Enter the value of a and b");

        double a = sc.nextDouble();

        double b = sc.nextDouble();

        if (ip == 1) {

            ans = a * a + 2 * a * b + b * b;

            System.out.println("Working:");

            System.out.println("a*a + 2*a*b + b*b");

            System.out.println(ans);

        } else if (ip == 2) {

            ans = a * a - 2 * a * b + b * b;

            System.out.println("Working:");

            System.out.println("a*a - 2*a*b + b*b");

            System.out.println(ans);

        } else if (ip == 3) {

            ans = (a + b) * (a - b);

            System.out.println("Working:");

            System.out.println("(a+b) * (a-b)");

            System.out.println(ans);

        } else if (ip == 4) {

            ans = a * a * a + b * b * b + 3 * a * b * (a + b);

            System.out.println("Working:");

            System.out.println("a*a*a + b*b*b + 3*a*b *(a+b)");

            System.out.println(ans);

        } else if (ip == 5) {

            ans = a * a * a - b * b * b - 3 * a * b * (a - b);

            System.out.println("Working:");

            System.out.println("a*a*a - b*b*b - 3*a*b *(a-b)");

            System.out.println(ans);

        } else {

            System.out.println("Wrong Choice");

        }

    }

}


Output

See here:


Output



Also published here.