我想输入一个字母和一个数字。第一个输入正常,但第二个输入它没有采取相当走到行的结尾说明不是数字。请帮忙。
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 :(得分: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))
希望这会有所帮助..