Here I will show you how you can swap two numbers A=20 and B=10 with and without temporary variables as A=10 and B=20.
Swap Numbers with Temporary Variable
I will take one more temporary variable as temp to keep value of B so that during copy of value A to B value of B is in temp and now we can copy value of temp to A. As below
temp=B (This state : A=20, B=10, temp=10)
B=A; (This state : A=20, B=20, temp=10)
A=temp (This state : A=10, B=20, temp=10)
By applying above logic you can swap values of two variables. In below Java example I will implement same logic two swap numbers.
Swap Numbers without Temporary Variable
There are two ways two swap two numbers without using any temporary variable.
Addition and Subtraction
Here you will see how to swap numbers A=20 and B=10 by using addition and subtraction operations.
A=A+B (This state : A=30, B=10)
B=A-B (This state : A=30, B=20)
A=A-B (This state : A=10, B=20)
By applying above addition and subtraction logic you can swap values of two variables. In below Java example I will implement same logic two swap numbers.
Multiplication and Division
Here you will see how to swap numbers A=20 and B=10 by using multiplication and division operations.
A=A*B (This state : A=200, B=10)
B=A/B (This state : A=200, B=20)
A=A/B (This state : A=10, B=20)
By applying above multiplication and division logic you can swap values of two variables. In below Java example I will implement same logic two swap numbers.
Swap Numbers Java Program
package test; import java.util.Scanner; public class SwapNumbers { public static void main(String[] args) { Scanner scan=new Scanner(System.in); System.out.println("Please Enter First Number"); int A=scan.nextInt(); System.out.println("Please Enter Second Number"); int B=scan.nextInt(); //swap Numbers with temporary variable swapNumbersWithTemp(A,B); //swap Numbers without temporary variable : Add and Sub swapNumbersWithoutTempAddSub(A,B); //swap Numbers without temporary variable : Mul and Div swapNumbersWithoutTempMulDiv(A,B); } private static void swapNumbersWithTemp(int A, int B) { int temp=B; B=A; A=temp; System.out.println("Numbers after swap with temporary variables"); System.out.println("A="+A+"and B="+B); } private static void swapNumbersWithoutTempAddSub(int A, int B) { A=A+B; B=A-B; A=A-B; System.out.println("Numbers after swap without temporary variables: Add and Sub operation"); System.out.println("A="+A+"and B="+B); } private static void swapNumbersWithoutTempMulDiv(int A, int B) { A=A*B; B=A/B; A=A/B; System.out.println("Numbers after swap without temporary variables: MUl and Div operation"); System.out.println("A="+A+"and B="+B); } }
Output
Please Enter First Number 20 Please Enter Second Number 10 Numbers after swap with temporary variables A=10and B=20 Numbers after swap without temporary variables: Add and Sub operation A=10and B=20 Numbers after swap without temporary variables: MUl and Div operation A=10and B=20 <span data-mce-type="bookmark" id="mce_SELREST_start" data-mce-style="overflow:hidden;line-height:0" style="overflow:hidden;line-height:0" ></span><span
More Info
For more Algorithms and Java Programing Test questions and sample code follow below links
One thought on “[Java] How to Swap two Numbers with and without temporary variable.”
You must log in to post a comment.