public?static?void?main(String[]?args)?{
String[]?arr?=?{"ab","ab","ab","ac","ab","ac","ds","sdf","sdf","sdf","sdf","sdf","sdf","sdf"};
//创建map?key保存字符串?value?保存出现的次数
MapString,Integer?map?=?new?HashMapString,?Integer();
for?(int?i?=?0;?i?arr.length;?i++)?{//循环数组
if(map.containsKey(arr[i])){//判断如果key中已存在该字符串
map.put(arr[i],?map.get(arr[i])+1);//value值?加一次(多出现一次)
}else{
map.put(arr[i],?1);//如果该字符串没有出现?map新保存一组数据?出现次数为1次
}
//循环结束
//迭代map
SetString?set?=?map.keySet();
IteratorString?it?=?set.iterator();//iterator迭代器
while?(it.hasNext())?{
String?key?=?(String)?it.next();
System.out.println(key+"出现的次数为"+"?"+map.get(key)+"次");
控制台输出结果
比如说源字符串是str="bookabcbookadbook";
str=" "+str+" ";
单词是s="book";
直接输出str.split(s).length-1就是单词的个数.
原理就是字符串前后都加空格以后,再用你要查找的单词把字符串分成数组,数组元素的个数减1,就是单词的个数了.当然,首先要用contains() 方法判断一下字符串是否已经包含要找的单词.
public class StringTest {\x0d\x0a public static void main(String[] args) {\x0d\x0a //定义一个测试字符串\x0d\x0a String testStr = "this is a test string";\x0d\x0a \x0d\x0a //将该字符串按空格分解成单词数组\x0d\x0a String[] words = testStr.split(" ");\x0d\x0a \x0d\x0a //输出单词个数\x0d\x0a System.out.println("该字符串一共有" + words.length + "个单词!");\x0d\x0a \x0d\x0a //输出每一个单词\x0d\x0a for (int i = 0; i
import java.util.Scanner;
public static void main(String []args ){
int ri, repeat,count, word,i;
String line;
char c;
Scanner in=new Scanner(System.in);
repeat=(in.nextLine()).charAt(0)-'0'; //输入repeat
for(ri=1; ri=repeat; ri++){
line=in.nextLine(); //输入一行字符
/*---------*/
count=Count(line);
System.out.println(count);
public static int Count(String str){
String[] str1=str.split(" ");
int count=str1.length;
return count;
public void countEn(String strEn){
strEn = str.replaceAll("[ ,.!@#$%^]", ""); //替换各种标点
string[] words=strEn.toLowerCase().split(' ')//空格号拆开
MapString,Int countMap= new HashMaoString,Int();
for(int i=0;iwords.length;i++){
int num=countMap.get(words[i]);
countMap.put(words[i],i++)
for (String key : countMap.keySet()) {
System.out.println("单词 :"+ key + " 数量 " + countMap.get(key));
System.out.println("有"+countMap.size()+"个单词")
顺手打的,没有运行,反正这是一种思路......
在C盘新建文件1.txt,输入任意字符,如下图:
编写java代码.如下:
import?java.io.BufferedReader;
import?java.io.FileNotFoundException;
import?java.io.FileReader;
import?java.io.IOException;
import?java.util.TreeMap;
public?class?Test?{
//?统计数字或者字符出现的次数
public?static?TreeMapCharacter,?Integer?Pross(String?str)?{
char[]?charArray?=?str.toCharArray();
TreeMapCharacter,?Integer?tm?=?new?TreeMapCharacter,?Integer();
for?(int?x?=?0;?x?charArray.length;?x++)?{
if?(!tm.containsKey(charArray[x]))?{
tm.put(charArray[x],?1);
}?else?{
int?count?=?tm.get(charArray[x])?+?1;
tm.put(charArray[x],?count);
return?tm;
BufferedReader?br?=?null;
int?line?=?0;
String?str?=?"";
StringBuffer?sb?=?new?StringBuffer();
try?{
br?=?new?BufferedReader(new?FileReader("c:\\1.txt"));
while?((str?=?br.readLine())?!=?null)?{
sb.append(str);
++line;
System.out.println("\n文件行数:?"?+?line);
System.out.println("\n文件内容:?"?+?sb.toString());
TreeMapCharacter,?Integer?tm?=?Pross(sb.toString());
System.out.println("\n字符统计结果为:"?+?tm);
}?catch?(FileNotFoundException?e)?{
e.printStackTrace();
}?catch?(IOException?e)?{
}?finally?{
if?(br?!=?null)?{
br.close();
//?TODO?Auto-generated?catch?block
}运行结果如下图:
以上就是土嘎嘎小编为大家整理的java中统计单词代码相关主题介绍,如果您觉得小编更新的文章只要能对粉丝们有用,就是我们最大的鼓励和动力,不要忘记讲本站分享给您身边的朋友哦!!