CodeGym /Java Blog /यादृच्छिक /Java isDigit पद्धत
John Squirrels
पातळी 41
San Francisco

Java isDigit पद्धत

यादृच्छिक या ग्रुपमध्ये प्रकाशित केले
बुलियन व्हॅल्यू देणार्‍या पद्धती बर्‍याचदा “आहे” या शब्दापासून सुरू होतात आणि याचा अर्थ तपासला जात असलेला घटक एका विशिष्ट स्थितीशी जुळतो की नाही हे तपासणे. Character.isDigit () पद्धत, ज्याची आपण या लेखात चर्चा करणार आहोत, निर्दिष्ट चार मूल्य एक अंक आहे की नाही हे निर्धारित करते.

Java isDigit पद्धत सिंटॅक्स

java.lang.Character.isDigit(char ch) ही Java मधील अंगभूत पद्धत आहे जी निर्दिष्ट वर्ण अंक आहे की नाही हे ठरवते. Java प्रोग्रामिंग संदर्भात "अंक" चा अर्थ काय आहे? Java Doc मधील व्याख्येनुसार, 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 हे पात्र तपासले जाणार आहे. अक्षर अंक असल्यास ही पद्धत सत्य आणि अन्यथा असत्य दर्शवते . Java doc नुसार isDigit(char myChar) पद्धती पूरक वर्ण हाताळू शकत नाही. पूरक वर्णांसह सर्व युनिकोड वर्णांना समर्थन देण्यासाठी, प्रोग्रामरने isDigit(int) पद्धत वापरली पाहिजे. हे तशाच प्रकारे दिसते, परंतु, OOP आणि पॉलीमॉर्फिझम समर्थनामुळे थोडेसे वेगळे कार्य करते. पब्लिक स्टॅटिक बुलियन isDigit(int codePoint) निर्दिष्ट वर्ण (युनिकोड कोड पॉइंट) हा अंक आहे की नाही हे निर्धारित करते. कॅरेक्टर एन्कोडिंग टर्मिनोलॉजीमध्ये, कोड पॉइंट किंवा कोड पोझिशन हे अंकीय मूल्य असते जे विशिष्ट वर्णाशी संबंधित असते.अक्षर अंक असल्यास isDigit(int codePoint) देखील खरे मिळवते आणि अन्यथा खोटे .

Java isDigit पद्धत साधे उदाहरण

Java 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 हा अंक आहे का? चार यूए अंक खरे आहे का? चार यूए अंक असत्य आहे? खरे

Java isDigit पद्धत, थोडे अधिक क्लिष्ट उदाहरण

Character.isDigit() वापरण्याचा प्रयत्न करूया.अधिक मनोरंजक आणि वास्तविक जीवनातील समस्येमध्ये. रन लेंथ एन्कोडिंग किंवा थोडक्यात आरएलई नावाची कॉम्प्रेशन पद्धत आहे. रन लेंथ एन्कोडिंग हे डेटा कॉम्प्रेशन अल्गोरिदम आहे जे पुनरावृत्ती वर्ण (मालिका) एका वर्णाने आणि त्याच्या पुनरावृत्तीची संख्या बदलते. मालिका हा एक क्रम आहे ज्यामध्ये अनेक समान वर्ण असतात. एन्कोडिंग (पॅकिंग, कॉम्प्रेसिंग) करताना, एक समान वर्णांची एक स्ट्रिंग जी एक मालिका बनवते ती पुनरावृत्ती वर्ण आणि त्याच्या पुनरावृत्तीची संख्या असलेल्या स्ट्रिंगद्वारे बदलली जाते. त्यामुळे तुमच्याकडे “hhhhhorrribleeeee” स्ट्रिंग असल्यास रन लेंथ एन्कोडिंग परिणाम देते: h5or3ible5. तुम्ही स्ट्रिंग डीकोड केल्यास, तुमच्याकडे अंक किंवा बिगर-अंकीय वर्ण आहे का ते तुम्ही क्रमशः तपासले पाहिजे आणि तुमच्याकडे अंक असल्यास, अंक काय आहे हे जाणून घेण्याची वेळ आली आहे. तसे, तुम्हा सर्वांना JPEG फाईल्स माहित आहेत. हा फॉरमॅट क्वांटाइज्ड डेटावर कर्णरेषेमध्ये रन-लेंथ एन्कोडिंगचा एक प्रकार वापरतो. व्हेरिएंट असा आहे की केवळ शून्य मूल्यांच्या धावांची लांबी एन्कोड केलेली आहे आणि इतर सर्व मूल्ये स्वतःच एन्कोड केलेली आहेत. खालील उदाहरणात, आम्ही वापरतोरन-लेंथ एन्कोडिंगसह एन्कोड केलेली स्ट्रिंग डीकोड करण्यासाठी 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"));
   }
}
आउटपुट आहे:
CCCecddffffffff
तुमच्या लक्षात आले असेल की आम्ही स्ट्रिंग वापरत नाही , तर स्ट्रिंगबिल्डर वापरत आहोत . का? वस्तुस्थिती अशी आहे की स्ट्रिंग अपरिवर्तनीय आहे आणि आम्ही काउंटर वाढवतो आणि प्रत्येक वेळी नवीन स्ट्रिंग तयार केली जाईल. आम्ही प्रोग्राममध्ये Character.digit पद्धत देखील वापरली. java.lang.Character.digit() ही एक पद्धत आहे जी निर्दिष्ट संख्या प्रणालीमध्ये ch वर्णाचे संख्यात्मक मूल्य परत करते . जर बेस MIN_RADIX <= बेस <= MAX_RADIX श्रेणीमध्ये नसेल, किंवा निर्दिष्ट बेसमध्ये ch हा वैध अंक नसेल, तर पद्धत -1 मिळवते.
टिप्पण्या
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION