您的位置:首页 > 编程语言 > Java开发

Java字符判断

2016-05-16 13:11 441 查看
1.判断字符串是否仅为数字:

1>用JAVA自带的函数

public static boolean isNumeric(String str){

for (int i = str.length();--i>=0;){

if (!Character.isDigit(str.charAt(i))){

return false;

}

}

return true;

}

2>用正则表达式

public static boolean isNumeric(String str){

Pattern pattern = Pattern.compile("[0-9]*");

return pattern.matcher(str).matches();

}

3>用ascii码

public static boolean isNumeric(String str){

for(int i=str.length();--i>=0;){

int chr=str.charAt(i);

if(chr<48 || chr>57)

return false;

}

return true;

}

2.判断一个字符串的首字符是否为字母

public static boolean test(String s)

{

char c = s.charAt(0);

int i =(int)c;

if((i>=65&&i<=90)||(i>=97&&i<=122))

{

return true;

}

else

{

return false;

}

}

public static boolean check(String fstrData)

{

char c = fstrData.charAt(0);

if(((c>='a'&&c<='z') || (c>='A'&&c<='Z')))

{

return true;

}else{

return false;

}

}

3 .判断是否为汉字

public boolean vd(String str){

char[] chars=str.toCharArray();

boolean isGB2312=false;

for(int i=0;i<chars.length;i++){

byte[] bytes=(""+chars[i]).getBytes();

if(bytes.length==2){

int[] ints=new int[2];

ints[0]=bytes[0]& 0xff;

ints[1]=bytes[1]& 0xff;

if(ints[0]>=0x81 && ints[0]<=0xFE && ints[1]>=0x40 && ints[1]<=0xFE){

isGB2312=true;

break;

}

}

}

return isGB2312;

}

例如:

从键盘上输入一个字符串,遍历该字符串中的每个字符,,若该字符为小写字母,则输出“此字符是小写字母”;若为大写字母,则输出“此字符为大写字母”;否则输出“此字符不是字母”。

代码入下:

import java.io.*;

public class Practice { public static void main(String[] args)

{ // TODO Auto-generated method stub BufferedReader buf;

buf=new BufferedReader(new InputStreamReader(System.in));

try { String str=buf.readLine(); for(int i=0;i<str.length();i++)

{ char ch = str.charAt(i); //System.out.println(ch);

if(!Character.isLetter(ch))

{ System.out.println("此字符不是字母"); }

else if(Character.isLetter(ch))

{ if (!Character.isLowerCase(ch))

{ System.out.println("此字符是大写字母"); }

else if (Character.isLowerCase(ch))

{ System.out.println("此字符是小写字母");

} } } }

catch(Exception e) { } } }
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: