Wednesday, March 29, 2023

ஜாவாவில் இரு எண்களின் மதிப்புகளை இன்டெர்சேஞ்ச் செய்வது எவ்வாறு?

 


a, b என்ற இரு வேரியபிள்களில் முறையே  10,20 என்று இருப்பதாக வைத்துக் கொள்வோம்.

அதாவது

a=10;

b=20;

இதில் a-ன் மதிப்பு b-க்கும் b-ன் மதிப்பு a -க்கும் போய் சேர வேண்டும்.

இதை எவ்வாறு செய்வது?.

நிறைய பேர் கண்ணை மூடிக் கொண்டு சொல்வது

 

a=b;

b=a;

ஆனால் இவ்வாறு செய்தால் a,b ஆகிய இரு வேரியபிள்களிலும் 20 என்றே இருக்கும்.

உண்மையில் மூன்றாவது வேரியபிள் ஒன்றை பயன்படுத்தி இதைச் செய்யலாம்.

சான்றாக temp என்றொரு வேரியபிள் எடுத்துக் கொள்வோம்.

temp=a;      //temp=10

a=b;      //a=20

b=temp;    //b=10

முழு நிரலும் கீழே கொடுக்கப்பட்டுள்ளது.

package swap;

public class Swap {

public static void main(String[] args) {

int a=10;

int b=20;

System.out.println("before swap");

System.out.println("a="+a);

System.out.println("b="+b);

int temp=a;

a=b;

b=temp;

System.out.println("after swap");

System.out.println("a="+a);

System.out.println("b="+b);

}

}

வெளியீடு:

before swap

a=10

b=20

after swap

a=20

b=10

இப்பொழுது மூன்றாவது வேரியபிள் பயன் படுத்தாமலே செய்யலாமா என்றால் செய்யலாம்.

a=a+b;   // a=30

b=a-b;     //b=10

a=a-b;    //a=20;

 

முழு நிரலும் கீழ் காணலாம்.

package swap;

public class Swap {

public static void main(String[] args) {

int a=10;

int b=20;

System.out.println("before swap");

System.out.println("a="+a);

System.out.println("b="+b);

a=a+b;

b=a-b;

a=a-b;

System.out.println("after swap");

System.out.println("a="+a);

System.out.println("b="+b);

}

}

வெளியீடு:

before swap

a=10

b=20

after swap

a=20

b=10

இப்பொழுது +, - ஆகிய இரு ஆபரேட்டருக்கு பதில் *, / ஆகிய ஆபரேட்டர்கள் பயன்படுத்தியும் இன்டெர்சேஞ்ச் செய்யலாம்

முழு நிரல்

package swap;

public class Swap {

public static void main(String[] args) {

int a=10;

int b=20;

System.out.println("before swap");

System.out.println("a="+a);

System.out.println("b="+b);

a=a*b;

b=a/b;

a=a/b;

System.out.println("after swap");

System.out.println("a="+a);

System.out.println("b="+b);

}

}

வெளியீடு:

before swap

a=10

b=20

after swap

a=20

b=10;

நன்றி.

முத்து கார்த்திகேயன்,மதுரை


Full stack web development with ..Net, Java, C, C++, PHP, Java script, web designing, classes is going on.

Both direct and online classes.

contact:91 9629329142


 

ads Udanz

No comments:

Post a Comment