黑马程序员技术交流社区

标题: String问题求高手! [打印本页]

作者: 刘元霄    时间: 2012-3-25 18:20
标题: String问题求高手!
String st = "1.1.1.1";
String[] str = st.split(".");

我想用 "."来切割 可是  点 为什么不给切, 我用1切能切除3个点,  但用点为什么切不出4个1?  难道是我的电脑问题?
作者: 杨朝辉    时间: 2012-3-25 18:25
String[] split(String regex)
          根据给定正则表达式的匹配拆分此字符串。
参数是一个正则表达式的字符串,"."代表的是"*.*",所以不能切割。
作者: 于紫洋    时间: 2012-3-25 18:38
是不是能转义
作者: 许前刚    时间: 2012-3-25 18:40
这样就可以了:
String st = "1.1.1.1";
String[] str = st.split("\\.");


作者: 阿牛    时间: 2012-3-25 18:59
import java.util.*;
class MapTest3 {

        public static void main(String[] args) {
                String s=fun("shfwsfvsnwnsnie");
                System.out.println(s);
               
        }
        public static String fun(String s){
                char[] ch=s.toCharArray();
                TreeMap<Character,Integer>  tree= new TreeMap<Character,Integer>();
               
                for(int x=0;x<ch.length;x++)
                                        {
                        if(ch[x]>='a'&&ch[x]<='z' || ch[x]>='A'&&ch[x]<='Z')
                               // continue;
                                                { Integer value=tree.get(ch[x]);
                        if(value==null)
                                                        {
                                tree.put(ch[x], 1);
                                                         }
                                                else
                                                        {
                                value=value+1;
                                tree.put(ch[x], value);
                                                        }
                                                }
                                        }
                        StringBuilder sb=new StringBuilder();
                        Set<Map.Entry<Character, Integer>> entry= tree.entrySet();
                        
                        Iterator<Map.Entry<Character, Integer>> it=entry.iterator();
                        while(it.hasNext()){
                                Map.Entry<Character, Integer> me=it.next();
                                Character key=me.getKey();
                                Integer value1=me.getValue();
                                sb.append(key+"("+value1+")");
                                                                        


                        }
                        
                        
               
                return sb.toString();                                          


}}

哥们,你的代码我给你改完了,测试通过。
主要问题有:1,忘写import java.util.*;了吧。2,如2楼所言,  if(ch[x]>='a'&&ch[x]<='z' || ch[x]>='A'&&ch[x]<='Z'),把continue去掉即可。3,把public class MapTest3 前的public去掉,因为编译时提示: 错误: 类MapTest3是公共的, 应在名为 MapTest3.java 的文件中声明
public class MapTest3 {
        ^
1 个错误
把public去掉后编译通过,至于为什么,我现在不知道。

作者: 阿牛    时间: 2012-3-25 18:59
牛秦勇 发表于 2012-3-25 18:59
import java.util.*;
class MapTest3 {

有知道的童鞋,给提示下




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2