Подтвердить что ты не робот

Как проверить, является ли символ в строке цифрой или буквой

У меня есть пользователь, вводящий один символ в программу, и он сохраняется как строка. Я хотел бы знать, как я могу проверить, является ли введенный символ буквой или цифрой. У меня есть оператор 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.");
4b9b3361

Ответ 1

Вы можете использовать:

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

Ответ 2

Вы можете использовать существующие методы из класса 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.

Ответ 3

Ummm, вы, ребята, забываете метод Character.isLetterOrDigit:

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

Ответ 5

Это немного сложно, значение, которое вы вводите на клавиатуре, является строковым значением, поэтому вам нужно передать первый символ с помощью метода line.chartAt(0), где 0 - индекс первого символа, и сохраните это значение в char, как в char c= line.charAt(0) теперь с использованием метода 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.printf("%s Is a digit",c);
   else if (Character.isLetter(c))
   System.out.printf("\n%s Is a Letter",c);
  }

}

Ответ 6

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

Найдите таблицу ASCII, чтобы увидеть, как значение int жестко запрограммировано.

Ответ 7

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

Ответ 8

Вы можете сделать это с помощью регулярного выражения следующим образом вы можете использовать этот код

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
}

Ответ 9

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");
             }
        }
    } 
}

Ответ 10

Вам нужно преобразовать строку в символ.

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

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

Отметьте Character для других методов.

Ответ 11

Я закодировал пример программы, которая проверяет, содержит ли строка в ней число! Думаю, это послужит и для этой цели.

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 - это исключение, определяемое пользователем. Предложите мне, можно ли внести какие-либо изменения.