CodeGym/Java Blog/무작위의/자바 isDigit 메서드
John Squirrels
레벨 41
San Francisco

자바 isDigit 메서드

무작위의 그룹에 게시되었습니다
회원
부울 값을 반환하는 메서드는 대부분 "is"라는 단어로 시작하며 확인 중인 요소가 특정 조건과 일치하는지 확인하는 것을 의미합니다. 이 문서에서 논의할 Character.isDigit() 메서드는 지정된 char 값이 숫자인지 여부를 확인 합니다 .

자바 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는 테스트할 문자입니다. 이 메서드는 문자가 숫자이면 true를 반환하고 그렇지 않으면 false를 반환합니다 . Java doc isDigit(char myChar) 메서드에 따르면 보조 문자를 처리할 수 없습니다. 보조 문자를 포함하여 모든 유니코드 문자를 지원하려면 프로그래머는 isDigit(int) 메서드를 사용해야 합니다. 같은 방식으로 보이지만 OOP 및 다형성 지원 덕분에 약간 다르게 작동합니다. public static boolean isDigit(int codePoint)는 지정된 문자(유니코드 코드 포인트)가 숫자인지 확인합니다. 문자 인코딩 용어에서 코드 포인트 또는 코드 위치는 특정 문자에 해당하는 숫자 값입니다.isDigit(int codePoint) 도 문자가 숫자이면 true를 반환하고 그렇지 않으면 false를 반환합니다 .

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는 숫자입니까? true는 char ua 숫자입니까? false는 char ua 숫자입니까? 진실

Java isDigit 메서드, 조금 더 복잡한 예제

Character.isDigit()을 사용해 봅시다.더 흥미롭고 실제적인 문제에서. Run Length Encoding 또는 줄여서 RLE라는 압축 방법이 있습니다. Run Length Encoding은 반복되는 문자(시리즈)를 하나의 문자와 그 반복 횟수로 대체하는 데이터 압축 알고리즘입니다. 시리즈는 여러 개의 동일한 문자로 구성된 시퀀스입니다. 인코딩(압축, 압축)할 때 시리즈를 구성하는 동일한 문자의 문자열은 반복 문자 자체와 반복 횟수를 포함하는 문자열로 대체됩니다. 따라서 "hhhhhorrribleeee" 문자열이 있는 경우 실행 길이 인코딩은 h5or3ible5라는 결과를 제공합니다. 문자열을 해독했다면 숫자인지 비숫자인지 순차적으로 확인해야 하고, 숫자가 있으면 그 숫자가 무엇인지 알아낼 차례다. 그건 그렇고, 여러분은 모두 JPEG 파일을 알고 있습니다. 이 형식은 양자화된 데이터에 대해 대각선 패턴으로 실행 길이 인코딩의 변형을 사용합니다. 변형은 0 값의 실행 길이만 인코딩되고 다른 모든 값은 자체적으로 인코딩된다는 것입니다. 아래 예에서는 다음을 사용합니다.Run-length 인코딩으로 인코딩된 문자열을 디코딩하는 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
우리가 String 이 아니라 StringBuilder 를 사용하고 있다는 것을 눈치채셨을 것입니다 . 왜? 사실 String 은 변경할 수 없으며 카운터를 증가시키고 새 문자열이 생성될 때마다 증가합니다. 프로그램에서 Character.digit 메서드 도 사용했습니다 . java.lang.Character.digit()는 지정된 수 체계에서 문자 ch 의 숫자 값을 반환하는 메서드입니다 . 기준이 MIN_RADIX <= 기준 <= MAX_RADIX 범위에 있지 않거나 ch가 지정된 기준에서 유효한 숫자가 아닌 경우 메서드는 -1을 반환합니다.
코멘트
  • 인기
  • 신규
  • 이전
코멘트를 남기려면 로그인 해야 합니다
이 페이지에는 아직 코멘트가 없습니다