CodeGym /جاوا بلاگ /Random-UR /جاوا مثالوں کے ساتھ چار کو انٹ میں تبدیل کریں۔
John Squirrels
سطح
San Francisco

جاوا مثالوں کے ساتھ چار کو انٹ میں تبدیل کریں۔

گروپ میں شائع ہوا۔
اکثر علامتی معلومات جو صارف کی بورڈ سے داخل کرتے ہیں اسے نمبروں میں تبدیل کرنے کی ضرورت ہوتی ہے یا پروگرامر کو اس سے نمبر حاصل کرنے کی ضرورت ہوتی ہے۔ جاوا میں اسے کرنے کے کچھ طریقے ہیں۔ اس آرٹیکل میں، ہم چار کو int ویلیو میں تبدیل کرنے میں ہماری مدد کرنے کے طریقے تلاش کریں گے۔

مضمر قسم کاسٹنگ

قسم کاسٹنگ ایک ڈیٹا کی قسم کی قدر کو دوسرے ڈیٹا کی قسم کی قدر میں تبدیل کرنے کا عمل ہے۔ قسم کاسٹنگ دستی یا خود بخود اقسام کے لحاظ سے ہو سکتی ہے۔ قسمیں ہم آہنگ ہونی چاہئیں۔ جاوا میں ہمارے پاس دو قسم کی ٹائپ کاسٹنگ ہے، واضح اور مضمر۔ Implicit صرف اس صورت میں کیا جا سکتا ہے جب ہم متغیر کو "بڑے" سے "چھوٹی" قسم میں تبدیل کریں (کہیں، int سے long تک )۔ اگر ہم چار قسم کے متغیر کو int ڈیٹا ٹائپ میں تبدیل کرنا چاہتے ہیں، تو اکثر ہمیں ASCII ٹیبل سے اس کی مساوی قدر حاصل کرنے کی ضرورت ہوتی ہے۔ ہر حروف تہجی یا علامت جو ڈیجیٹل طور پر درج کی جا سکتی ہے اس کا ایک منفرد عدد عدد ہوتا ہے۔ مثال کے طور پر، حروف تہجی 'A' کا ASCII کوڈ 65 ہے۔ ٹائپ کاسٹنگ کے ذریعے، ہم زبردستی کریکٹر ویلیو کو اس کے مساوی ASCII انٹیجر کوڈ میں تبدیل کر رہے ہیں۔ ٹائپ کاسٹنگ کا استعمال کرتے ہوئے مثال کے طور پر ہمارا جاوا چار یہ ہے۔

جاوا چار سے int مثال (ٹائپ کاسٹنگ کا استعمال کرتے ہوئے)


package charToInt;

public class Implicit {

       public static void main(String[] args) {
           char char1 = 'A';
           char char2 = 'a';
           int x = char1;
           int y = char2;

           System.out.println("ASCII value of '" + char1 + "' is " + x);
           System.out.println("ASCII value of '" + char2 + "' is " + y);
       }
   }
آؤٹ پٹ ہے:
'A' کی ASCII قدر 65 ہے 'a' کی ASCII قدر 97 ہے۔

واضح قسم کاسٹنگ

جیسا کہ ہم نے اوپر دیکھا، چار سے انٹ کی تبدیلی کے معاملے میں، یہ واضح طور پر کرنا ضروری نہیں ہے، کیونکہ 2 بائٹس چار کو ذخیرہ کرنے کے لیے استعمال کیے جاتے ہیں، اور 4 بائٹس انٹ کو ذخیرہ کرنے کے لیے استعمال کیے جاتے ہیں۔ یعنی int قسم "بڑا" ہے۔ اس کے باوجود، ایک مشق کے طور پر، ہم واضح طور پر ایک چار متغیر کو ایک عدد پر ڈال سکتے ہیں۔ اس آپریشن کے لیے، ہم قوسین میں (int) کا ذکر کرتے ہیں۔

package charToInt;

public class Explicit {

       public static void main(String[] args) {
           char char1 = 'A';
           System.out.println("ASCII value of '" + char1 + "' is " + (int)char1);
       }
   }
آؤٹ پٹ ہے:
'A' کی ASCII قدر 65 ہے۔

getNumericValue() کا استعمال

getNumericValue() ٹائپ کاسٹنگ کی طرح کام کرتا ہے، لیکن ASCII ٹیبل پر عمل کرنے کے بجائے، یہ یونیکوڈ انکوڈنگ کے معیار کی پیروی کرتا ہے۔ ASCII صرف علامتوں اور حروف کے مخصوص سیٹ کی نمائندگی کر سکتا ہے جیسے لاطینی حروف (علاوہ کچھ قومی حروف تہجی کی علامتیں)، اعداد، اوقاف اور کنٹرول حروف۔ یونیکوڈ دنیا کی ہر زبان کے لیے ایک ملین سے زیادہ اقدار پر مشتمل ہے جس میں حروف اور علامتیں ہیں۔ مثال کے طور پر، یونی کوڈ میں A کی قدر \u0041 ہے جو کہ 10 کی عددی قدر کے برابر ہے۔ اگر کریکٹر کی عددی قدر نہیں ہے، تو طریقہ -1 لوٹاتا ہے۔ اس طریقہ کا استعمال غیر منفی عدد کو واپس کرنے کے لیے آسان ہو سکتا ہے۔

package charToInt;

public class UsingGetNumericValue {

       public static void main(String[] args) {
           char char1 = '7';
           char char2 = 'A';
           char char3 = '*';

           int x = Character.getNumericValue(char1);
           int y = Character.getNumericValue(char2);
           int z = Character.getNumericValue(char3);

           System.out.println("The Unicode value of '" + char1 + "' is " + x);
           System.out.println("The Unicode value of '" + char2 + "' is " + y);
           System.out.println("The Unicode value of '" + char3 + "' is " + z);

       }
   }
آؤٹ پٹ ہے:
'7' کی یونیکوڈ ویلیو 7 ہے 'A' کی یونیکوڈ ویلیو 10 ہے '*' کی یونیکوڈ ویلیو -1 ہے

ParseInt () کا استعمال

ParseInt() چار کو int میں تبدیل کرنے کا ایک اور طریقہ ہے۔ یہ دوسرے عددی ڈیٹا کی اقسام کے ساتھ ساتھ فلوٹ، ڈبل اور لمبی کے درمیان کراس کنورٹ کے لیے بھی بڑے پیمانے پر استعمال ہوتا ہے۔ ParseInt() کو کم از کم ایک دلیل اور زیادہ سے زیادہ دو دلائل درکار ہیں۔ پہلی دلیل اس قدر کا متغیر نام ہے جسے ہم تبدیل کر رہے ہیں۔ دوسری دلیل ریڈکس ہے جو اعشاریہ، آکٹل، ہیکساڈیسیمل وغیرہ کی بنیادی قدر کا حوالہ دیتی ہے۔ ParseInt() کی قابلیت کی وجہ سے اعداد و شمار کے نظام کو ذہن میں رکھتے ہوئے ڈیٹا کی اقسام کو بھی تبدیل کر سکتا ہے، یہ "عددی" کو تبدیل کرنے کے لیے ایک بہترین انتخاب ہے۔ جاوا میں چار سے int۔ اگر آپ یہ طریقہ استعمال کرنا چاہتے ہیں تو ذہن میں رکھنے کے لیے دو اہم نکات ہیں۔ parseInt() طریقہ صرف String کے دلائل کو قبول کرتا ہے، لہذا آپ کو پہلے char کو String میں تبدیل کرنا چاہیے (استعمال کرتے ہوئے String.valueOfآپ parseInt() کو حروف تہجی یا دیگر علامتوں کو تبدیل کرنے کے لیے استعمال نہیں کر سکتے ہیں سوائے چار ڈیٹا کی قسم میں ذخیرہ کردہ عددی اقدار کے۔ اگر آپ غیر عددی اقدار داخل کرتے ہیں تو آپ کو ایک خرابی ملے گی۔ یہاں جاوا کی ایک مثال ہے:

package charToInt;

public class ParseInt {
       public static void main(String args[]){
           char ch = '7';
           int n = Integer.parseInt(String.valueOf(ch));
           System.out.println(n);
       }
   }
آؤٹ پٹ ہے:
7
آئیے parseInt ٹن غیر عددی قدر استعمال کرنے کی کوشش کریں:

package charToInt;

public class ParseInt {
       public static void main(String args[]){
           char ch = 'q';
           int n = Integer.parseInt(String.valueOf(ch));
           System.out.println(n);
       }
   }
آؤٹ پٹ ہے:
تھریڈ "main" java.lang.NumberFormatException میں استثناء: ان پٹ سٹرنگ کے لیے: "q" java.base/java.lang.NumberFormatException.forInputString(NumberFormatException.java:68) java.base/java.lang.Integer.parseInt پر (Integer.java:652) java.base/java.lang.Integer.parseInt(Integer.java:770) at charToInt.ValueOf.main(ValueOf.java:6)

'0' کو کم کرنا

ایک حرف کو عدد میں تبدیل کرنے کا ایک بہت آسان طریقہ ہے۔ ایسا کرنے کے لیے، صرف کریکٹر سے "0" کریکٹر کی ASCII ویلیو کو گھٹائیں۔ مثال کے طور پر، کریکٹر "7" سے int 7 حاصل کرنا:

int intValue = '7'-' 0 ';
نوٹ کریں، کہ یہ خصوصی طور پر عددی حروف کے لیے int اقدار حاصل کرنے کے لیے کام کرتا ہے! اگر آپ '0' کو 'A' سے منہا کرتے ہیں، تو یہ طریقہ صرف ASCII کوڈز صفر اور حرف A کے درمیان فرق واپس کر دے گا۔ یہاں ایک مثال ہے۔

package charToInt;

public class SubtractingZero {

   public static void main(String[] args) {
       char char1 = '7';
       char char2 = 'A';
       char char3 = '*';

       System.out.println(char1);
       System.out.println(char1 - '0');

       System.out.println(char2);
       System.out.println(char2 - '0');

       System.out.println(char3);
       System.out.println(char3 - '0');
      
   }

}
آؤٹ پٹ ہے:
7 7 اے 17 * -6

نتائج

اگر آپ کو جاوا میں char کو int میں تبدیل کرنے کی ضرورت ہے تو ایک طریقہ استعمال کریں:
  • مضمر قسم کاسٹنگ // ASCII اقدار حاصل کرنا
  • Character.getNumericValue()
  • Integer.parseInt() // String.valueOf()) کے ساتھ جوڑی میں
  • '0' کو گھٹانا // صرف عددی عددی اقدار کے لیے کام کرتا ہے۔
آپ واضح قسم کی کاسٹنگ بھی کر سکتے ہیں۔ تاہم، یہ ایک بے کار آپریشن ہے: اس کی ضرورت نہیں ہے، لیکن صرف جاوا میں کام کرتا ہے۔
تبصرے
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION