CodeGym /Java Blog /சீரற்ற /ஜாவா என்பது டிஜிட் முறை
John Squirrels
நிலை 41
San Francisco

ஜாவா என்பது டிஜிட் முறை

சீரற்ற குழுவில் வெளியிடப்பட்டது
பூலியன் மதிப்பை வழங்கும் முறைகள் பெரும்பாலும் "is" என்ற வார்த்தையுடன் தொடங்குகின்றன, மேலும் சரிபார்க்கப்படும் உறுப்பு ஒரு குறிப்பிட்ட நிபந்தனையுடன் பொருந்துகிறதா என்பதைச் சரிபார்க்கும். இந்தக் கட்டுரையில் நாம் விவாதிக்கப் போகும் Character.isDigit () முறை, குறிப்பிடப்பட்ட எழுத்து மதிப்பு இலக்கமா என்பதைத் தீர்மானிக்கிறது.

Java isDigit முறை தொடரியல்

java.lang.Character.isDigit(char ch) என்பது ஜாவாவில் உள்ளமைக்கப்பட்ட முறையாகும், இது குறிப்பிட்ட எழுத்து இலக்கமா இல்லையா என்பதை தீர்மானிக்கிறது. ஜாவா நிரலாக்க சூழலில் "ஒரு இலக்கம்" என்றால் என்ன? 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 என்பது சோதிக்கப்பட வேண்டிய பாத்திரம் . இந்த முறை எழுத்து இலக்கமாக இருந்தால் சரி என்றும் இல்லையெனில் தவறானது என்றும் வழங்கும் . ஜாவா ஆவணத்தின்படி 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()ஐப் பயன்படுத்த முயற்சிப்போம்.மிகவும் சுவாரஸ்யமான மற்றும் நிஜ வாழ்க்கை பிரச்சனையில். ரன் லெங்த் என்கோடிங் அல்லது சுருக்கமாக RLE எனப்படும் சுருக்க முறை உள்ளது. ரன் லெங்த் என்கோடிங் என்பது ஒரு தரவு சுருக்க அல்காரிதம் ஆகும், இது மீண்டும் மீண்டும் வரும் எழுத்துக்களை (தொடர்கள்) ஒரு எழுத்து மற்றும் அதன் மறுதொடக்கங்களின் எண்ணிக்கையுடன் மாற்றுகிறது. தொடர் என்பது ஒரே மாதிரியான பல எழுத்துக்களைக் கொண்ட ஒரு வரிசையாகும். குறியாக்கம் செய்யும் போது (பேக்கிங், கம்ப்ரசிங்), தொடரை உருவாக்கும் ஒரே மாதிரியான எழுத்துக்களின் சரம், மீண்டும் மீண்டும் வரும் எழுத்து மற்றும் அதன் மறுநிகழ்வுகளின் எண்ணிக்கையைக் கொண்ட ஒரு சரத்தால் மாற்றப்படுகிறது. எனவே உங்களிடம் "hhhhhorrribleeee" என்ற சரம் இருந்தால், ரன் நீள குறியாக்கம் ஒரு முடிவை அளிக்கிறது: 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"));
   }
}
வெளியீடு:
CCCecddffffff
நாங்கள் String ஐப் பயன்படுத்தவில்லை , மாறாக StringBuilder ஐப் பயன்படுத்துகிறோம் என்பதை நீங்கள் கவனித்திருக்கலாம் . ஏன்? உண்மை என்னவென்றால், சரம் மாறாதது, மேலும் கவுண்டரை அதிகரிக்கிறோம், ஒவ்வொரு முறையும் ஒரு புதிய சரம் உருவாக்கப்படும். நிரலில் 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