字符串在字符串数组中出现的次数?
参数args[] 有6个元素 hello world hello welcome world welcome
java初学者,然后看视频里问题,求出每个元素在其中出现的次数, 这是一开始自己写的方法,
很累赘而且改动好几次,而且没法完成算法,但是想了蛮久感觉逻辑没错,所以来求助,如果能指出问题所在的万分感谢呐!
public static void main(String[] args)
{
HashMap map = new HashMap();
map.put(args[0], new Integer(1));
int d = 0;
boolean b = true;
for(int i = 1; i < args.length ; i++)
{
for(int k = i-1; k >= 0; k--)
{
if(args[i].equals(args[k])) //args[i]更已经出现过的args[i]之前的数组比较
{
b = false ; //如果出现过了 给b赋值 false,
}
}
System.out.println(b); //原本应该输出的是 true false true false false
//现在输出的是 true false false false false
// if(b)
// {
// map.put(args[i], new Integer(1));
// }
// else
// {
// Integer in = (Integer)map.get(args[i]);
// in = new Integer(in.intValue() + 1);
//
// map.put(args[d], in);
// }
}
Set set = map.keySet();
for(Iterator iter = set.iterator(); iter.hasNext();)
{
String key = (String)iter.next();
Integer value = (Integer)map.get(key);
System.out.println(key + ":" + value);
}
}