你的位置:首页 > Java教程

[Java教程]字符串——面试题1:统计一行字符中有多少个单词?

单词的数目可以由空格出现次数决定(连续的若干个空格作为出现一次空格;一行开头的空格不统计在内)。若测出某一个字符为非空格,而它的前面的字符是空格,则表示“新的单词开始了”,此时是单词计数器加1,;若当前字符为为非空格,而其前面的也是非空格,则意味着仍是那个单词的继续,count值不应累加。前面的一个字符是否空格可以从word的值看出来,若word等于0,则表示前一个字符是空格,若word是1,意味着前面的字符是非空格。

 1 package com.mianshi.easy; 2 public class Test1 { 3  4   public static int wordCount(String s){ 5     int word = 0; 6     int count = 0; 7     for(int i=0; i<s.length(); i++){ 8       if(s.charAt(i)==' '){ 9         word = 0;10       }else if(word == 0){11         word = 1;12         count++;13       }14     }15     return count;16   }17 18   public static void main(String[] args) {19     20     String s = "It is a good day!";21     int i = Test1.wordCount(s);22     System.out.println(s+"单词个数是: "+i);23   }24 }

结果:

It is a good day!单词个数是: 5

很可能写成:else if(s.charAt(i)!=' ' && word == 0),与程序中是一样的。

word在次数相当于一个标志位。


宁夏旅游必去景点排名宁夏旅游地图线路大全宁夏旅游多少钱宁夏旅游攻略大全宁夏旅游攻略自助游火车票价下调方案出台 2015火车票降价 2015清明节放假安排及高速免费通行时间 端午节放假安排2015高速免费 春节对联大全(带横批) 河东名人山庄门票优惠吗?恩平河东名人山庄门票包括什么? 河东名人山庄有什么好玩的?恩平河东名人山庄介绍? 河东名人山庄好玩地方推荐?恩平河东名人山庄怎么样? 深圳山海田园有什么好玩项目?深圳山海田园度假村娱乐项目怎么收费? 上林霞客古渡葵园门票多少钱?霞客古渡葵花什么时候开? 清远黄腾峡山水乐园门票价格?黄腾峡山水乐园要门票吗? 霞客古渡景区门票包含什么?上林霞客古渡有另收费吗? 清远黄腾峡漂流多少钱?2015黄腾峡漂流最新票价? 马尔代夫维斯瑞岛Viceroy Maldives Resort 的房间设施如何? 马尔代夫最近天气怎么样? 泰国哪个时候最适合旅游?什么时候是最佳的旅游季节? 马尔代夫维斯瑞岛Viceroy Maldives Resort 是最新开发的岛屿吗? AT28HC256E-20JI Datasheet AT28HC256E-20JI Datasheet AT28HC256E-70DI Datasheet AT28HC256E-70DI Datasheet AT28HC256E-70DM Datasheet AT28HC256E-70DM Datasheet 包头到香港两日旅游 包头到香港两日旅游 包头到香港两日旅游 长春去香港两日旅游 长春去香港两日旅游 长春去香港两日旅游 浙江去香港两日旅游 浙江去香港两日旅游 浙江去香港两日旅游