CodeGym /Blog Jawa /Acak /Metode Java isDigit
John Squirrels
tingkat
San Francisco

Metode Java isDigit

Diterbitake ing grup
Cara sing ngasilake nilai boolean paling asring diwiwiti kanthi tembung "iku" lan tegese mriksa yen unsur sing dicenthang cocog karo kondisi tartamtu. Cara Character.isDigit () , sing bakal kita rembugan ing artikel iki, nemtokake yen nilai char kasebut minangka digit.

Sintaks metode Java isDigit

java.lang.Character.isDigit(char ch) iku cara dibangun ing Jawa sing nemtokake karakter kasebut minangka digit utawa ora. Apa tegese "digit" ing konteks pemrograman Java? Miturut definisi ing Java Doc, yen cara Character.getType(ch) ngasilake konstanta DECIMAL_DIGIT_NUMBER , mula karakter kasebut minangka digit. Sawetara kisaran karakter Unicode sing ngemot digit yaiku:
  • Saka '\u0030' nganti '\u0039' ana ISO-LATIN-1 digit ('0' nganti '9')

  • Saka '\u0660' nganti '\u0669' ana digit Arab-Indic

  • Saka '\u06F0' nganti'\u06F9' minangka digit Arab-Indic sing ditambahi

  • Saka '\u0966' nganti '\u096F' ana digit Devanagari

  • Saka \uFF10' nganti '\uFF19'iku digit Fullwidth

Ana uga sawetara kisaran liyane sing ngemot digit. Nanging, paling asring kita bakal nggunakake digit saka '\u0030' kanggo '\u0039'. Sintaks Character.isDigit() ana ing kene:

public static boolean isDigit(char myChar)
Ngendi myChar minangka karakter sing bakal diuji. Cara iki ngasilake bener yen karakter iku digit lan palsu digunakake. Miturut metode Java doc isDigit(char myChar) ora bisa nangani karakter tambahan. Kanggo ndhukung kabeh karakter Unicode, kalebu karakter tambahan, programmer kudu nggunakake metode isDigit(int) . Katon cara sing padha, nanging, thanks kanggo OOP lan polymorphism support dianggo dicokot sethitik beda. boolean statis publik isDigit (int codePoint) nemtokake yen karakter sing ditemtokake (titik kode Unicode) minangka digit. Ing terminologi encoding karakter, titik kode utawa posisi kode minangka nilai numerik sing cocog karo karakter tartamtu.isDigit (int codePoint) uga ngasilake bener yen karakter iku digit lan palsu digunakake.

Contoh sederhana metode Java isDigit

Ayo nyoba nggarap metode Java Characher.isDigit () . Kaping pisanan, kita bakal nulis program sing gampang kanggo nduduhake metode kasebut.

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));
   }
}
Output yaiku:
iku char 5 digit? bener iku char ua digit? palsu iku char ua digit? bener

Metode Java isDigit, conto sing luwih rumit

Coba gunakake Character.isDigit()ing masalah urip luwih menarik lan nyata. Ana cara kompresi sing diarani Run Length Encoding utawa RLE kanggo singkatan. Run Length Encoding minangka algoritma kompresi data sing ngganti karakter (seri) sing diulang kanthi karakter siji lan jumlah pengulangan. Seri yaiku urutan sing dumadi saka sawetara karakter sing padha. Nalika enkoding (packing, compressing), senar karakter identik sing mbentuk seri diganti dening senar ngemot karakter mbaleni dhewe lan nomer repetitions. Dadi yen sampeyan duwe senar "hhhhhorrribleeee" enkoding dawa mbukak menehi asil: h5or3ible5. Yen sampeyan decode senar, sampeyan kudu sequentially mriksa yen sampeyan duwe karakter digit utawa non-digit, lan yen sampeyan duwe digit, iku wektu kanggo njaluk apa digit. Miturut cara, sampeyan kabeh ngerti file JPEG. Format iki nggunakake varian saka enkoding dawa-run ing pola diagonal liwat data kuantitatif. Varian kasebut mung dawane nilai nol sing dikode lan kabeh nilai liyane dienkode minangka awake dhewe. Ing conto ing ngisor iki, kita nggunakakeCara Character.isDigit(char ch) kanggo decode senar sing dienkode nganggo enkoding Run-length. Yen kasengsem, nyoba kanggo ngrampungake program, utawa luwih, nggawe bagean pisanan lan nulis cara kanggo RLE enkoding senar, uga maca senar saka file. Utawa kanthi manual ngetik senar saka console nalika mriksa bener saka input. Punika conto dekoding 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"));
   }
}
Output yaiku:
CCCecddffffffff
Sampeyan bisa uga wis ngeweruhi sing kita ora nggunakake String , nanging StringBuilder . Kenging punapa? Kasunyatane yaiku String ora bisa diganti, lan kita nambah counter, lan saben senar anyar bakal digawe. Kita uga nggunakake cara Character.digit ing program. java.lang.Character.digit () iku cara sing ngasilake nilai numerik saka karakter ch ing sistem nomer kasebut. Yen basis ora ana ing kisaran MIN_RADIX <= basis <= MAX_RADIX, utawa yen ch dudu digit sing bener ing basis sing ditemtokake, metode kasebut ngasilake -1.
Komentar
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION