2016-07-13 8 views
0

文字と数字を入力しようとしています。最初の入力はうまくいっていますが、2番目の入力は数字のない行末に行くのではなく、入力してください。助けてください。Javaで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"); 
    } 
} 

答えて

0

..

ます。また、このことができます

Character.isLetterOrDigit(charAt(p)) 

希望をチェックアウトすることができこの

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

EDITを試してみてください

関連する問題