在java中使用bufferedreader多次输入字符

时间:2016-07-13 05:48:40

标签: bufferedreader

我想输入一个字母和一个数字。第一个输入正常,但第二个输入它没有采取相当走到行的结尾说明不是数字。请帮忙。

public class charString {

 public static void main(String args[]) throws IOException {
    InputStreamReader read=new InputStreamReader(System.in);
    BufferedReader in=new BufferedReader(read);     
    System.out.print("Enter a character: ");
    char p=(char)(in.read());
    if(Character.isLetter(p))
        System.out.println(p+" is a letter");
    else
        System.out.println(p+" is not a letter");                  
    System.out.print("Enter a character: ");
    char p1=(char)(in.read());
    if(Character.isDigit(p))
        System.out.println(p1+" is a digit");
    else
        System.out.println(p1+" is not a digit");
    }   
 }

1 个答案:

答案 0 :(得分:0)

试试这个

 public static void main(String args[]) throws IOException {
   InputStreamReader read=new InputStreamReader(System.in);
   BufferedReader in=new BufferedReader(read);     
   System.out.print("Enter a character: ");
   String character = in.next();
   char p = character.charAt(0);  

   characterChecker(p); 
 }

 private void characterChecker(Char p) {

   if(Character.isLetter(p)) {
      System.out.println(p+" is a letter");
   } else if (Character.isDigit(p)) {
      System.out.println(p1+" is a digit");
   }
 }

编辑您还可以查看

Character.isLetterOrDigit(charAt(p))

希望这会有所帮助..