/*
* 面试题20:表示数值的字符串
*题目:请实现一个函数用来判断字符串是否表示数值(包括整数和小数)。例如,字符串"+100","5e2","-123","3.1416"和"-1E-16"都表示数值。
* 但是"12e","1a3.14","1.2.3","+-5"和"12e+4.3"都不是。
* 思路:String的matches方法,正则表达式
*/
public class No20isNumeric {
public static void main(String[] args) {
No20isNumeric n = new No20isNumeric();
char[]s = {'+', '1', '0', '0'};
System.out.println(n.isNumeric(s));
}
public boolean isNumeric(char[] str) {
String res = String.valueOf(str);
//return res.matches("[+-]?[0-9]{0,}(\\.?[0-9]{1,})?([Ee][+-]?[0-9]{1,})?");
return res.matches("[+-]?[0-9]*(\\.[0-9]*)?([eE][+-]?[0-9]+)?");
}
}
面试题20:表示数值的字符串
最新推荐文章于 2021-10-29 23:11:29 发布