62,623
社区成员
发帖
与我相关
我的任务
分享import java.util.ArrayList;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Iterator;
import java.util.LinkedList;
import java.util.List;
import java.util.Map;
import java.util.Set;
public class chongfuchar {
public static void main(String[] args) {
String str = "fdsagasgaaaaafg";
Set<String> s = new HashSet<String>();
List<String> list = new LinkedList<String>();
String newstr = null;
Map<Integer,String> map = new HashMap<Integer,String>();
int count = 0;
int max = 0;
char[] cha = str.toCharArray();
for (int i = 0; i < cha.length; i++) {
s.add(String.valueOf(cha[i]));
list.add(String.valueOf(cha[i]));
}
Iterator<String> it = s.iterator();
while (it.hasNext()) {
newstr = it.next();
for (int i = 0; i < cha.length; i++) {
if (newstr.equals(list.get(i))) {
count++;
System.out.print(list.get(i));
System.out.print(newstr);
}
}
//System.out.print(newstr);
map.put(count,newstr);
count = 0;
}
System.out.println(map);
}
}String bata = str.substring(i,i+1).toLowerCase();
if(bata.charAt(0) <= ' ') {
break;
}String bata = str.substring(i,i+1).toLowerCase();
if(bata.charAt(0) > ' ') {
break;
}String bata = str.substring(i,i+1).toLowerCase();
if(bata.charAt(0) > ' ') {
// 把后面的代码搬进去
}private static void add(char c, Map<Character, Integer> map) {
if(c <= ' ') {
return;
}
Integer tmp = map.get(c);
if(tmp == null) {
map.put(c, 1);
}else{
map.put(c, ++tmp);
}
}
这个空格是字符串中的
Language Specification
这里面不就有一个空格吗?
import java.util.Map;
import java.util.TreeMap;
public class Test {
public static void main(String[] args) {
Map<Character, Integer> map = new TreeMap<Character, Integer>();
String str = "Language Specification";
char[] chars = str.toLowerCase().toCharArray();
for (int i = 0; i < chars.length; i++) {
add(chars[i], map);
}
printFrequency(map);
printAllChar(map);
}
private static void add(char c, Map<Character, Integer> map) {
Integer tmp = map.get(c);
if(tmp == null) {
map.put(c, 1);
}else{
map.put(c, ++tmp);
}
}
private static void printFrequency(Map<Character, Integer> map) {
int separator = 0;
for(Map.Entry<Character, Integer> entry : map.entrySet()) {
if(separator++ > 0) {
System.out.print(", ");
}
System.out.print(entry.getKey() + ":" + entry.getValue());
}
System.out.println();
}
private static void printAllChar(Map<Character, Integer> map) {
int separator = 0;
for(Map.Entry<Character, Integer> entry : map.entrySet()) {
if(separator++ > 0) {
System.out.print(", ");
}
char c = entry.getKey();
int k = entry.getValue();
for(int i = 0; i < k; i++) {
System.out.print(c);
}
}
}
}