| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1566 人关注过本帖
标题:新手关于怎样合并连续空格为一个空格的问题,请各位高手指点,谢谢!
只看楼主 加入收藏
cardliujie
Rank: 1
来 自:广东深圳
等 级:新手上路
帖 子:25
专家分:0
注 册:2008-7-30
收藏
 问题点数:0 回复次数:6 
新手关于怎样合并连续空格为一个空格的问题,请各位高手指点,谢谢!
这是我写计算一个字符串里有几个单词的程序,碰上连续敲空格的话就不对了,想了半天了,请大虾们帮忙改一下,谢谢!

public class SpaceTest {
    public static void main(String [] args){
        String s = "This java hello   world";
        int m = 0;
        int num = 0;
        System.out.println(s);
        for(int i=0;i<s.length();i++){
            if(s.charAt(i)==' '){
                m++;
            }    
        }
        System.out.println("空格的个数="+m);
        if(s.charAt(0)==' '&&s.charAt(s.length()-1)==' '){
            num = m-1;    
        }
        else if(s.charAt(0)==' '||s.charAt(s.length()-1)==' '){
            num = m;
            }
        else{
            num = m+1;
        }
        System.out.println("单词的个数="+num);
    }
}
搜索更多相关主题的帖子: 空格 
2008-10-30 15:14
cardliujie
Rank: 1
来 自:广东深圳
等 级:新手上路
帖 子:25
专家分:0
注 册:2008-7-30
收藏
得分:0 
急着要啊,各位高手帮帮忙!
2008-10-30 22:15
freish
Rank: 6Rank: 6
等 级:贵宾
威 望:23
帖 子:1223
专家分:437
注 册:2007-6-1
收藏
得分:0 
程序代码:
public class WordTest {
    private String str = "This java hello     world";
    
    /**
     * 按空白分割句子
     * \s表示空白 ,+表示1个或多个空白
     * @return 句子的每个单词组成的数组
     */
    private String[] getWorlds(){
        return str.trim().split("\\s+");
    }
    
         /**
     * @return 句子中单词的数目
     */
    public int getWordNum(){
        return getWorlds().length;
    }
    
    /**
     * 打印每一个单词
     */
    public void printWord(){
        for(String word:getWorlds()){
            System.out.println(word);
        }
    }
    static public void main(String[] args){
        WordTest test = new WordTest();
        System.out.println("单词的个数为:" + test.getWordNum());
        System.out.println("分别为:");
        test.printWord();
    }
}


[[it] 本帖最后由 freish 于 2008-10-31 08:38 编辑 [/it]]
2008-10-30 23:03
zacom
Rank: 2
等 级:论坛游民
威 望:2
帖 子:381
专家分:15
注 册:2007-9-15
收藏
得分:0 
public class SpaceTest {
    public static void main(String [] args){
        boolean uncheck=true;//用来判断前一个是不是单词
        String s = "This java hello world"  ;
        int m = 0;
        int num=0;
        System.out.println(s);
        for(int i=0;i<s.length();i++){
            if(s.charAt(i)==' '){
                  m++;
             }
             if(!uncheck&&s.charAt(i)==' ')
             {
                 num++;
                 uncheck=true;
             }
             if(s.charAt(i)!=' ')
                 uncheck=false;
        }
        if(s.charAt(s.length()-1)!=' ')
               num++;
        System.out.println("空格的个数="+m);
        System.out.println("单词的个数="+num);
        }
    }




在你的基础上改的。。看看行不行

没有最好只有更好
2008-10-30 23:15
nuciewth
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:我爱龙龙
等 级:贵宾
威 望:104
帖 子:9786
专家分:208
注 册:2006-5-23
收藏
得分:0 
可以循环消除空格

倚天照海花无数,流水高山心自知。
2008-10-31 09:16
cardliujie
Rank: 1
来 自:广东深圳
等 级:新手上路
帖 子:25
专家分:0
注 册:2008-7-30
收藏
得分:0 
谢谢各位了
2008-10-31 23:22
cxzjcx
Rank: 1
等 级:新手上路
帖 子:18
专家分:0
注 册:2008-10-29
收藏
得分:0 
不知道你为什么要执着于空格,如果单词中间是标点符号呢?
我觉得是不是可以只判断字母呀?
2008-11-03 10:20
快速回复:新手关于怎样合并连续空格为一个空格的问题,请各位高手指点,谢谢!
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.017235 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved