十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
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
回答于 2022-12-11
import java.util.Scanner;
public class Test40031 {
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;
}
public static void main(String[] args) {
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) {
e.printStackTrace();
} finally {
if (br != null) {
try {
br.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
}运行结果如下图: