输入为一行,由若干个单词和句号组成
输出格式参见样例。
A blockhouse is a small castle that has four openings through which to shoot.
a:2 blockhouse:1 castle:1 four:1 has:1 is:1 openings:1 shoot:1 small:1 that:1 through:1 to:1 which:1
import java.util.Map;
import java.util.Scanner;
import java.util.TreeMap;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
TreeMap<String, Integer> map = new TreeMap<>();
String s = "";
while (scanner.hasNext()) s += scanner.nextLine();
String[] s1 = s.replace(".", "").replace(",", "").toLowerCase().split(" ");
for (String s2 : s1) map.merge(s2, 1, Integer::sum);
for (Map.Entry<String, Integer> entry : map.entrySet())
System.out.println(entry.getKey()+":"+entry.getValue());
}
}
import java.util.Comparator;
import java.util.Map;
import java.util.Scanner;
import java.util.TreeMap;
public class Main {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
String s = scan.nextLine();
//把逗号和句号替换成空格,再按空格切成单词
s = s.replace(".", " ");
s = s.replace(",", " ");
String[] arr = s.split(" ");
//比较器
Map<String, Integer> map = new TreeMap<String, Integer>(new Comparator<String>() {
@Override
public int compare(String o1, String o2) {
return o1.compareToIgnoreCase(o2);
}
});
for (String word : arr) {
word = word.toLowerCase();
if(map.get(word) == null){
map.put(word, 1);
}else{
map.put(word, map.get(word)+1);
}
}
map.remove("");
for (Map.Entry<String, Integer> entry : map.entrySet()) {
System.out.println(entry.getKey()+":"+entry.getValue());
}
}
} import java.util.Arrays;
import java.util.HashSet;
import java.util.Scanner;
public class Main {
public static String []replace(String s){
String t=s.replace(",", "");
String u=t.replace(".", "");
return u.split(" ");
}
public static void main(String[] args) {
Scanner in=new Scanner(System.in);
while(in.hasNext()) {
String v=in.nextLine();
String s=v.toLowerCase();
String[] nn=replace(s);
Arrays.sort(nn);
HashSet<String>set=new HashSet<>();
for(int i=0;i<nn.length;i++) {
set.add(nn[i]);
}
int []num=new int[set.size()];
String []mm=new String[set.size()];
int n=0;
for(String g:set) {
mm[n]=g;
n++;
}
Arrays.sort(mm);
for(int i=0;i<set.size();i++) {
for(int j=0;j<nn.length;j++) {
if(mm[i].equals(nn[j])) {
num[i]++;
}
}
}
for(int i=0;i<set.size();i++) {
System.out.println(mm[i]+":"+num[i]);
}
}
}
}