programing

문자열의 문자가 숫자인지 문자인지 확인하는 방법

goodcopy 2021. 1. 17. 11:55
반응형

문자열의 문자가 숫자인지 문자인지 확인하는 방법


사용자가 프로그램에 단일 문자를 입력하고 문자열로 저장됩니다. 입력 한 문자가 문자인지 숫자인지 어떻게 확인할 수 있는지 알고 싶습니다. 나는 if 문이 있으므로 문자가 인쇄되면 문자이고 숫자도 동일합니다. 지금까지 가지고있는 코드는 작동하지 않지만 가까이있는 것 같습니다. 제공 할 수있는 모든 도움을 주시면 감사하겠습니다.

  System.out.println("Please enter a single character: ");
  String character = in.next();

  System.out.println(character);

  if (character.isLetter()){
    System.out.println("The character entered is a letter.");
  }
  else (character.isDigit()){
    Syste.out.println("The character entered is a digit.");

다음을 사용할 수 있습니다.

    if (Character.isLetter(character.charAt(0))){
    ....

Character 클래스의 기존 메서드를 사용할 수 있습니다. 문서를 살펴보십시오.

http://download.java.net/jdk7/archive/b123/docs/api/java/lang/Character.html#isDigit(char)

그래서 이렇게 할 수 있습니다 ...

String character = in.next();
char c = character.charAt(0);
...
if (Character.isDigit(c)) { 
    ... 
} else if (Character.isLetter(c)) {
    ...
}
...

이것이 어떻게 구현되는지 정확히 알고 싶다면 항상 Java 소스 코드를 볼 수 있습니다.


음, 너희들은 Character.isLetterOrDigit방법을 잊고있다 .

boolean x;
String character = in.next();
char c = character.charAt(0);
if(Character.isLetterOrDigit(charAt(c)))
{ 
  x = true;
}

이것은 약간 까다 롭습니다. 키보드에 입력하는 값은 문자열 값이므로 line.chartAt(0)0은 첫 번째 문자의 인덱스 인 메서드를 사용하여 첫 번째 문자를 피치해야 하며이 값을 char c= line.charAt(0)지금 과 같이 char 변수에 저장해야합니다. 방법 isDigit()isLetter()클래스 Character사용 하여 숫자와 문자를 구분할 수 있습니다.

다음은 프로그램 코드입니다.

import java.util.Scanner;

class Practice
{
 public static void main(String[] args)
  {
   Scanner in = new Scanner(System.in);
   System.out.println("Input a letter"); 
   String line = in.nextLine();
   char c = line.charAt(0);
   if( Character.isDigit(c))
   System.out.println(c +" Is a digit");
   else if (Character.isLetter(c))
   System.out.println(c +" Is a Letter");
  }

}

정규식 사용 :

boolean isChar = character.matches("[a-zA-z]{1}");
boolean isDigit = character.matches("\\d{1}"); 

char charInt=character.charAt(0);   
if(charInt>=48 && charInt<=57){
    System.out.println("not character");
}
else
    System.out.println("Character");

int 값이 어떻게 하드 코딩되는지 보려면 ASCII 테이블을 찾으십시오.


     char temp = yourString.charAt(0);
     if(Character.isDigit(temp))
     {
         ..........
     }else if (Character.isLetter(temp))
     {
          ......
      }else
     {
      ....
     }

import java.util.*;

public class String_char 
{

    public static void main(String arg[]){   

        Scanner in = new Scanner(System.in);
        System.out.println("Enter the value");
        String data;
        data = in.next();

        int len = data.length();
        for (int i = 0 ; i < len ; i++){
            char ch = data.charAt(i);

            if ((ch >= '0' && ch <= '9')){
                System.out.println("Number ");
            }
            else if((ch >= 'a' && ch <= 'z') || (ch >= 'A' && ch <= 'Z')){
            System.out.println("Character");
            }
            else{
                System.out.println("Symbol");
             }
        }
    } 
}

다음과 같이 정규식으로 이것을 할 수 있습니다.이 코드를 사용할 수 있습니다.

EditText et = (EditText) findViewById(R.id.editText);
String NumberPattern = "[0-9]+";
String Number = et.getText().toString();

if (Number.matches(NumberPattern) && s.length() > 0)
{ 
    //code for number
}
else
{
    //code for incorrect number pattern
}

주어진 문자가 알파벳인지 아닌지 확인하는 방법입니다.

public static void main(String[] args) {

    Scanner sc = new Scanner(System.in);
    char c = sc.next().charAt(0); 
    if((c >= 'a' && c <= 'z') || (c >= 'A' && c <= 'Z'))
         System.out.println(c + " is an alphabet.");
    else
        System.out.println(c + " is not an alphabet.");
}

문자열을 문자로 변환해야합니다 ..

String character = in.next();
char myChar = character.charAt(0);

if (Character.isDigit(myChar)) {
   // print true
}

Check Character for other methods..


I have coded a sample program that checks if a string contains a number in it! I guess it will serve for this purpose as well.

public class test {
    public static void main(String[] args) {
        String c;
        boolean b;

        System.out.println("Enter the value");
        Scanner s = new Scanner(System.in);
        c = s.next();
        b = containsNumber(c);
        try {
            if (b == true) {
                throw new CharacterFormatException();
            } else {
                System.out.println("Valid String \t" + c);
            }
        } catch (CharacterFormatException ex) {
            System.out.println("Exception Raised-Contains Number");

        }
    }

    static boolean containsNumber(String c) {
        char[] ch = new char[10];
        ch = c.toCharArray();

        for (int i = 0; i < ch.length; i++) {
            if ((ch[i] >= 48) && (ch[i] <= 57)) {
                return true;
            }
        }
        return false;
    }
}

CharacterFormatException is a user defined Exception. Suggest me if any changes can be made.

ReferenceURL : https://stackoverflow.com/questions/12715246/how-to-check-if-a-character-in-a-string-is-a-digit-or-letter

반응형