Let’s learn multiply two numbers without using arithmetic operators in java.
Multiply two numbers without using arithmetic operators in java
Let’s learn how to multiply two numbers without using arithmetic operators using for loop.
import java.util.Scanner; public class MultiplyWithoutArithmeticOperators { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int number1, number2, multiply = 0; System.out.print("Please enter first number: "); number1 = sc.nextInt(); System.out.print("Please enter second number: "); number2 = sc.nextInt(); // loops until condition becomes false for(int a = 1; a <= number1; a++) { multiply = multiply + number2; } System.out.println("Multiplication of " + number1 + " and " + number2 + " is: " + multiply); sc.close(); } }
Output:
Please enter first number: 7
Please enter second number: 7
Multiplication of 7 and 7 is: 49
Let’s see another logic to multiply two numbers without using arithmetic operators where we are using static method.
import java.util.Scanner; public class MultiplyWithoutArithmeticOperators { public static void main(String[] args) { int multiply = 0; Scanner sc = new Scanner(System.in); System.out.print("Please enter first number: "); int number1 = sc.nextInt(); System.out.print("Please enter second number: "); int number2 = sc.nextInt(); for(int a = 0; a < number2; a++) { multiply = multiplication(multiply, number1); } System.out.print("Multiplication of " + number1 + " and " + number2 + " is: " + multiply); sc.close(); } static int multiplication(int number1, int number2) { for(int a = 0; a < number2; a++) number1++; return number1; } }
Output:
Please enter first number: 12
Please enter second number: 5
Multiplication of 12 and 5 is: 60
Now let’s learn to multiply two numbers without using arithmetic operators using while loop.
import java.util.Scanner; public class MultiplyWithoutArithmeticOperators { public static void main(String[] args) { int multiply = 0; Scanner sc = new Scanner(System.in); System.out.print("Please enter first number: "); int number1 = sc.nextInt(); System.out.print("Please enter second number: "); int number2 = sc.nextInt(); for(int a = 0; a < number2; a++) { multiply = multiplication(multiply, number1); } System.out.print("Multiplication of " + number1 + " and " + number2 + " is: " + multiply); sc.close(); } static int multiplication(int number1, int number2) { // loops if number2 is greater than 0 while(number2 != 0) { // using bitwise AND operator int x = (number1 & number2); number1 = number1 ^ number2; number2 = x << 1; } return number1; } }
Output:
Please enter first number: 17
Please enter second number: 7
Multiplication of 17 and 7 is: 119
Finally let’s learn how multiply two numbers without using arithmetic operators using recursion.
public class MultiplyWithoutArithmeticOperators { public static void main(String[] args) { System.out.println(multiplication(-7, 10)); System.out.println(multiplication(-17, -27)); } static int multiplication(int number1, int number2) { // checking number2 is 0 or not if(number2 == 0) // returns 0 if any number multiplied by 0 return 0; // checks if number2 is greater than 0 or not if(number2 > 0) // calculating multiplication and return return (number1 + multiplication(number1, number2 - 1)); // executes if number2 is negative if(number2 < 0) return -multiplication(number1, -number2); return -1; } }
Output:
-70
459
Also read – polymorphism in java