CodeGym /جاوا بلاگ /Random-SD /Java isDigit طريقو
John Squirrels
سطح
San Francisco

Java isDigit طريقو

گروپ ۾ شايع ٿيل
اهي طريقا جيڪي هڪ بوليان قدر واپس ڪندا آهن اڪثر ڪري لفظ "آهي" سان شروع ڪندا آهن ۽ ان جو مطلب اهو آهي ته چيڪ ڪيو پيو وڃي ته عنصر ڪنهن خاص شرط سان ملندو آهي. Character.isDigit () طريقو، جنهن تي اسين هن مضمون ۾ بحث ڪرڻ وارا آهيون، اهو طئي ڪري ٿو ته ڇا مخصوص چار ويل ويل هڪ عدد آهي.

Java isDigit method نحو

java.lang.Character.isDigit(char ch) جاوا ۾ هڪ تعمير ٿيل طريقو آهي جيڪو اهو طئي ڪري ٿو ته ڇا مخصوص ڪردار هڪ عدد آهي يا نه. جاوا پروگرامنگ جي حوالي سان "هڪ عدد" جو مطلب ڇا آهي؟ جاوا ڊاڪ ۾ بيان ڪيل وصف مطابق، جيڪڏهن Character.getType(ch) طريقو DECIMAL_DIGIT_NUMBER مستقل ڏي ٿو، ته پوءِ اکر هڪ عدد آهي. ڪجھ يونيڪوڊ ڪردارن جون حدون جيڪي عددن تي مشتمل آھن ھيٺيون آھن:
  • '\u0030' کان '\u0039' تائين ISO-LATIN-1 عدد آهن ('0' کان '9')

  • '\u0660' کان '\u0669' تائين عربي-هندي انگ اکر آهن

  • '\u06F0' کان '\u06F9' تائين وڌايل عربي-هندي انگ اکر آهن

  • '\u0966' کان '\u096F' تائين ديوناگري انگ آهن

  • \uFF10' کان '\uFF19' تائين مڪمل ويڊٿ انگ اکر آهن

ڪجھ ٻيون حدون پڻ آھن جن ۾ عدد شامل آھن. جڏهن ته، اڪثر ڪري اسين '\u0030' کان '\u0039' تائين انگ استعمال ڪرڻ وارا آهيون. Character.isDigit() جو نحو هتي آهي:
public static boolean isDigit(char myChar)
جتي MyChar اهو ڪردار آهي جنهن کي جانچيو وڃي. اهو طريقو صحيح موٽائي ٿو جيڪڏهن ڪردار هڪ عدد آهي ۽ ٻي صورت ۾ غلط آهي . جاوا ڊڪ مطابق isDigit(char myChar) طريقو ضمني اکرن کي سنڀالي نٿو سگھي. سڀني يونيڪوڊ اکرن کي سپورٽ ڪرڻ لاءِ، بشمول اضافي اکرن، پروگرامر کي استعمال ڪرڻ گهرجي isDigit(int) طريقو. اهو ساڳيو طريقو ڏسڻ ۾ اچي ٿو، پر، OOP جي مهرباني ۽ پوليمورفيزم سپورٽ ٿورڙو مختلف ڪم ڪري ٿو. عوامي جامد بوليان isDigit (int codePoint) اهو طئي ڪري ٿو ته ڇا مخصوص ڪردار (يونيڪوڊ ڪوڊ پوائنٽ) هڪ عدد آهي. ڪردار انڪوڊنگ جي اصطلاحن ۾، ڪوڊ پوائنٽ يا ڪوڊ پوزيشن هڪ عددي قدر آهي جيڪو هڪ مخصوص ڪردار سان ملندو آهي. isDigit(int codePoint) پڻ صحيح موٽائي ٿو جيڪڏھن ڪردار ھڪڙو عدد آھي ۽ ٻي صورت ۾ غلط آھي .

Java isDigit طريقو سادو مثال

اچو ته جاوا Characher.isDigit() طريقي سان ڪم ڪرڻ جي ڪوشش ڪريون. سڀ کان پهريان اسان هڪ سادي پروگرام لکڻ وارا آهيون طريقي کي ظاهر ڪرڻ لاءِ.
public class isDigitTest {
//isDigit(char ch) simple example
   public static void main(String[] args)
   {

       //characters to check using isDigit Java method
       char myChar1 = '5', myChar2 = 'u', myChar3 = '0';

       // Function to check if the character
       // is digit or not, using isDigit() method
       System.out.println("is char " + myChar1 + " a digit? "
                       + Character.isDigit(myChar1));
       System.out.println(
               "is char " + myChar2 + " a digit? "
                       + Character.isDigit(myChar2));

       System.out.println(
               "is char " + myChar3 + " a digit? "
                       + Character.isDigit(myChar3));
   }
}
پيداوار آهي:
ڇا چار 5 هڪ عدد آهي؟ ڇا چار يوا عدد صحيح آهي؟ چار ua عدد غلط آهي؟ سچو

Java isDigit طريقو، ٿورو وڌيڪ پيچيده مثال

اچو ته Character.isDigit() کي وڌيڪ دلچسپ ۽ حقيقي زندگيءَ جي مسئلي ۾ استعمال ڪرڻ جي ڪوشش ڪريون. اتي ھڪڙو ڪمپريشن طريقو آھي جنھن کي رن ڊگھائي انڪوڊنگ يا مختصر لاءِ RLE سڏيو ويندو آھي. Run Length Encoding هڪ ڊيٽا ڪمپريشن الگورٿم آهي جيڪو بار بار اکرن (سيريز) کي هڪ ڪردار ۽ ان جي ورجائي جي تعداد سان مٽائي ٿو. هڪ سلسلو ڪيترن ئي هڪجهڙا ڪردارن تي مشتمل هڪ سلسلو آهي. جڏهن انڪوڊنگ (پيڪنگ، ڪمپريسنگ)، هڪجهڙائي واري اکرن جو هڪ اسٽرنگ جيڪو هڪ سلسلو ٺاهيندو آهي، هڪ اسٽرنگ سان تبديل ڪيو ويندو آهي جنهن ۾ ٻيهر ورجائيندڙ ڪردار ۽ ان جي ورهاڱي جو تعداد شامل آهي. تنهن ڪري جيڪڏهن توهان وٽ هڪ تار آهي "hhhhhorrribleeeee" رن ڊگھائي انڪوڊنگ نتيجو ڏئي ٿو: h5or3ible5. جيڪڏهن توهان اسٽرنگ کي ڊيڪوڊ ڪريو ٿا، توهان کي ترتيب سان چيڪ ڪرڻ گهرجي ته توهان وٽ هڪ عدد يا غير عددي اکر آهي، ۽ جيڪڏهن توهان وٽ هڪ عدد آهي، اهو وقت حاصل ڪرڻ جو وقت آهي اهو انگ ڇا آهي. رستي ۾، توهان سڀني کي ڄاڻو ٿا JPEG فائلون. هي فارميٽ استعمال ڪري ٿو رن ڊگھائي انڪوڊنگ جي مختلف قسمن کي مقدار جي ڊيٽا مٿان ڊرون نمونن ۾. variant اهو آهي ته صرف صفر جي رنن جي ڊيگهه انڪوڊ ٿيل آهي ۽ ٻيا سڀئي قدر پاڻ کي انڪوڊ ٿيل آهن. هيٺ ڏنل مثال ۾، اسان استعمال ڪريون ٿا Character.isDigit(char ch) طريقو رن-ڊگھائي انڪوڊنگ سان انڪوڊ ٿيل اسٽرنگ کي ڊيڪوڊ ڪرڻ لاءِ. جيڪڏهن توهان دلچسپي رکو ٿا، پروگرام کي مڪمل ڪرڻ جي ڪوشش ڪريو، يا بلڪه، ان جو پهريون حصو ٺاهيو ۽ هڪ طريقو لکو RLE هڪ اسٽرنگ کي انڪوڊنگ ڪرڻ، انهي سان گڏ هڪ فائل مان هڪ اسٽرنگ پڙهڻ. يا دستي طور تي ڪنسول مان اسٽرنگ داخل ڪندي ان پٽ جي درستگي کي جانچڻ دوران. هتي RLE ڊيڪوڊنگ جو هڪ مثال آهي:
public class RleTest {

   //the method to decode String using run-length encoding and
//isDigit() method
   private static String decodeRle(String encoded) {
       if (encoded.isBlank()) return "";
       StringBuilder result = new StringBuilder();
       int count = 0;
       char baseChar = encoded.charAt(0);
       for (int i = 1; i <= encoded.length(); i++) {
           char c = i == encoded.length() ? '$' : encoded.charAt(i);
//checking using isDigit() method
if (Character.isDigit(c)) {
               count = count * 10 + Character.digit(c, 10);
           } else {
               do {
                   result.append(baseChar);
                   count--;
               } while (count > 0);
               count = 0;
               baseChar = c;
           }
       }
       return result.toString();
   }

public static void main(String[] args) {
//here we are going to decode an RLE-encoded string
       System.out.println(decodeRle("C3ecddf8"));
   }
}
پيداوار آهي:
سي سي سي سي ڊي ڊي ايف ايف ايف
توهان شايد محسوس ڪيو هوندو ته اسان هڪ String استعمال نه ڪري رهيا آهيون ، پر هڪ StringBuilder . ڇو؟ حقيقت اها آهي ته اسٽرنگ غير بدليل آهي، ۽ اسان انسداد کي وڌايو، ۽ هر ڀيري هڪ نئين اسٽرنگ ٺاهي ويندي. اسان پڻ پروگرام ۾ Character.digit طريقو استعمال ڪيو. java.lang.Character.digit() هڪ طريقو آهي جيڪو مخصوص نمبر سسٽم ۾ ڪردار ch جي عددي قيمت واپس ڪري ٿو . جيڪڏهن بيس رينج ۾ نه آهي MIN_RADIX <= base <= MAX_RADIX، يا جيڪڏهن ch مخصوص بيس ۾ صحيح عدد نه آهي، طريقو واپسي -1.
تبصرا
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION