class Test
{
public static String parseValue(String str)
{
String values[]=str.split(".");
       String returnStr="";
      for(int k=0;k<values.length;k++)
       {
       returnStr+=values[k];
       }       
       return returnStr;
}
    public static void main(String[] args)
    {
     System.out.println(parseValue("12.345"));
    }
}

解决方案 »

  1.   

    LS的能说下为什么吗?我个人认为是 1234512.345这个字符串
    被str.split("."); 处理后
    装入values[]这个字符数组中,values[0]=12
    values[1]=345returnStr=""+"12"+"345";
    returnStr="12345";不知道是否正确。欢迎高手指教!
      

  2.   

    查下api就知道
    . Any character (may or may not match line terminators) 
    点表示任何字符
      

  3.   

    四个字:转义字符。
    代码应为:
    public static String parseValue(String str) 

    String values[]=str.split("\\.");     //此处不同 
          String returnStr=""; 
        for(int k=0;k <values.length;k++) 
          { 
          returnStr+=values[k]; 
          }      
          return returnStr; 

        public static void main(String[] args) 
        { 
        System.out.println(parseValue("12.345")); 
        } 
    解释: 在正则表达式里,表示点号要转义为“\\.”。
     “.”表示任意字符。 所以楼主的程序才会出现空行,因为任何字符都是分隔符,
    分隔符是被过滤的。所以就是空了。在正则表达式里经常会遇到这个问题。
    也可以这样实现:
    public static String parseValue(String str) 

    String values[]=str.split("[.]"); //
          String returnStr=""; 
        for(int k=0;k <values.length;k++) 
          { 
          returnStr+=values[k]; 
          }      
          return returnStr; 

        public static void main(String[] args) 
        { 
        System.out.println(parseValue("12.345")); 
        }