利用正则表达式:

import java.util.regex.Pattern;
public class Solution {
    public boolean isNumber(String s) {
        //首先想到用正则表达式来做
        /*
        复习一下常用的数量词:
                   X?:代表X出现1次或0次;
                   X*:代表X出现0次或多次;
                   X+:1次或多次;
                   X{n}:X出现n次;
                   X{n,}:X出现至少n次;
                   X{n,m}:X出现至少n次,但不超过m次
        */
        if(s.equals(" ")||s.length()==0) return false;
        String pattern = "^[+-]?((?:\\d*\\.)?\\d+|\\d+(?:\\.\\d*)?)(?:[eE][+-]?\\d+)?$";
        return Pattern.matches(pattern,s.trim());
    }
}