判断字母数字java
‘壹’ 请问用java怎么判断输入是否为数字和英文字母,如果不是就提示输入错误
用正则表达式匹配。
比如输入为String s,s.matches("[0-9a-zA-Z]*")返回true,就可以了~
‘贰’ java中如何判断一个字符串中含有字母或数字
描述:
java.lang.character.isLetter(); 断定指定字符是否是一个字母。
java.lang.character.isDigit(); 确定或判断指定字符是否是一个数字。
示例:
public static void main(String[] args){
boolean isDigit = false;//定义一个boolean值,用来表示是否包含数字
boolean isLetter = false;//定义一个boolean值,用来表示是否包含字母
String str = "aaasss8fff"; //假设有一个字符串
for(int i=0 ; i<str.length() p="" 循环遍历字符串
if(Character.isDigit(str.charAt(i))){ //用char包装类中的判断数字的方法判断每一个字符
isDigit = true;
}
if(Character.isLetter(str.charAt(i))){ //用char包装类中的判断字母的方法判断每一个字符
isLetter = true;
}
}
/*循环完毕以后
*如果isDigit为true,则代表字符串中包含数字,否则不包含
*如果isLetter为true,则代表字符串中包含字母,否则不包含
*/
System.out.println(isDigit);
System.out.println(isLetter);
}
‘叁’ Java判断是不是汉字,中文,英文字母和数字
JAVA的正则表达式,这个很简单,只要你将匹配的方法和几个常用的元字符以及表示字符数的格式记住就可以了,这些你可以网络一下,我这里只是简单的说一下
JAVA的正则表达式使用String里的boolean matches(String regex)方法来确认传入的值的格式的,
publicstaticvoidmain(String[]args)
{
Strings1="java";
Strings2="Java";
booleanflag=s2.matches(s1);
System.out.println(flag);//如果匹配则输出true,否则为false
}
接下来我介绍一些简单的元字符
\d表示0-9中间的任意一个数字
\D 表示任意一个非数字字符
\w表示字母、数字或下划线
\W表示非字母、数字和下划线
\s表示空白符
\S表示非空白符
[]字符集具体范围的规定,使用[]
例如
s1="b\d{3,5}";//表示b后跟3个以上,5个以下的任意数字
s2="b588";
flag=str.matches(s1);
System.out.println(flag);
那么判断是不是汉字
s1="[u4e00-u9fa5]";//中文字符范围
s2="吴老二";
flag=s2.matches(s1);
System.out.println(flag);
英文字母
s1="^[a-zA-Z]$";//^表示开头$表示结尾[a-zA-Z]表示英文字母
s2="abc";
数字
除了可以用我前面说的\d之外还可以用[0-9],你自己测试一下吧
‘肆’ java如何判断输入的是数字还是字母
还有可能输入其他特殊符号 如果你只需输入数字,捕获异常时最方便的了。
附代码:
import java.util.Scanner;
public class nomb {
public static void main(String[] args) {
System.out.print("please input the number:");
int a;
Scanner in=new Scanner(System.in);
try{
a=in.nextInt();
}catch(Exception e){
System.out.println("input error");
return;
}
if (a>0)
System.out.print(a+"是一个正数。");
else
{if (a==0)
System.out.print("您输入的数字是零。");
else
System.out.print(a+"是一个负数。");
}
}
}