比如说:34.456
-.12
+3.3+3
如何来判断上面的数值是合法的,比如说第一个字符和最后一个数值不能为".",
最后一个不能为“+”“-”,还有不能在中间出现"-",不能出现两个"."有没有写好的类什么的?请给一个
我的信箱:[email protected]

解决方案 »

  1.   

    自己些几个函数判断就可以了。
      

  2.   

    去找本关于形式语言与自动机的书看看就会清楚了
    或者找编译原理来看主要是词法分析部分
      

  3.   

    比较麻烦,要考虑很多情况。
    具体算法大概是:
    1、滤掉空格,回车。
    2、第一次遍历字符串,看是否有不合法的字符,比如a,b,中文等等。
    (此时字符串中只有数字和运算符、‘.';
    3、第二次遍历字符串,检查格式的正确。分几种情况。
       出现'.'和运算符的情况。