java中如何判断输入的字符串是字符还是整数
我找到了判断字符的和转化成整数拼接的,就是不知道怎么去调用不用的方法
import java.util.Scanner;
public class check {
public static void main(String[] args) {
System.out.println("请输入需要判断的字符串");
Scanner sc=new Scanner(System.in);
String testStr=sc.next();
char[] test=testStr.toCharArray();
for (char c : test) {
int temp=(int)c;
if(temp57)
{
System.out.println("字符");
return;
}
}
System.out.println("整数");
}
}
可以通过异常 处理来判断
public static boolean isValidInt(String value) {
try {
Integer.parseInt(value);
} catch (NumberFormatException e) {
return false;
}
return true;
}
Pattern pattern = Pattern.compile("^(\\-){0,1}\\d+(\\.\\d+){0,1}$");
Matcher matcher = pattern.matcher("123"); // 输入的字符串
boolean b= matcher.matches();
上面那个正则是浮点数,
整数
Pattern pattern = Pattern.compile("^(\-){0,1}\d+$");
正整数
Pattern pattern = Pattern.compile("^\d+$");
上面那个正则是浮点数,
整数
Pattern pattern = Pattern.compile("^(\\-){0,1}\\d+$");
正整数
Pattern pattern = Pattern.compile("^\\d+$");
强转为整型,如果不发生异常就是整数,否则就是字符
Integer.parseInt(str);
Long.parseInt(str);
如果你的整数很大,超过了long型,可以用BigInteger
public static boolean isInteger(String str) {
try {
new BigInteger(str);
} catch (NumberFormatException e) {
return false;
}
return true;
}