决定好好学习java,一点点感悟,一点点进步,记下自己在java世界的足迹
2014--8--9
计算字符串中每个字符出现的个数
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Set;
class f {
static Map Count(String str) {
Map<String, Integer> map = new HashMap<String, Integer>();
String temp = "";
for (int i = 0; i < str.length(); i++) {
temp = str.substring(i, i + 1);
if (map.size() == 0) {
map.put(temp, 1);
} else {
if (map.get(temp) == null) {
map.put(temp, 1);
} else {
int n = map.get(temp);
n = n + 1;
map.put(temp, n);
}
}
}
return map;
}
public static void main(String[] args) {
Map map = Count("aba");
Set set = map.keySet();
Iterator it = set.iterator();
while (it.hasNext()) {
String key = (String) it.next();
int number = (Integer) map.get(key);
System.out.println(key + " have " + number);
}
}
}
法2:class f2 {
static void count(String str, String a[], int b[]) {
for (int i = 0; i < str.length(); i++) {
for (int j = 0; j < str.length(); j++) {
if (a[j] == null) {
a[j] = str.substring(i, i + 1);
b[j] += 1;
break;
}
if (a[j].equals(str.substring(i, i + 1))) {
b[j] += 1;
break;
}
}
}
}
public static void main(String[] args) {
String str = "aba";
String[] a = new String[str.length()];
int[] b = new int[str.length()];
count(str, a, b);
for (int i = 0; i < a.length; i++) {
if (a[i] != null)
System.out.println(a[i] + " have " + b[i]);
}
}
}
法3:
class d3 {
static String count(String str, int b[]) {
String s1 = "";
for (int i = 0; i < str.length(); i++) {
if (s1.indexOf(str.substring(i, i + 1)) == -1) {
s1 += str.substring(i, i + 1);
}
}
for (int i = 0; i < s1.length(); i++) {
b[i] = 0;
String s2 = s1.substring(i, i + 1);
for (int j = 0; j < str.length(); j++) {
if (s2.equals(str.substring(j, j + 1))) {
b[i] += 1;
}
}
}
return s1;
}
public static void main(String[] args) {
String str = "abaac";
int[] b = new int[str.length()];
String s1 = count(str, b);
for (int i = 0; i < s1.length(); i++) {
System.out.println(s1.substring(i, i + 1) + " have " + b[i]);
}
}
}