package test1;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Random;
import java.util.Set;
public class CountNumber //對數字進行計數並統計出每個數字出現的次數
{
public static void main(String[] args)
{
Random random = new Random();
HashMap map = new HashMap();
for(int i = 0; i < 50 ; i ++) //隨機生成50的數並以map類對象存儲
{
int a = random.nextInt();
if((Integer)a == null) //如果該key指向null,說明未出現過,直接存入map中
{
map.put(a, new Integer(1));
}
else //否則出現過,將key對應的value值加1
{
//程序在這行報錯 java.lang.NullPointerException
map.put(a,new Integer((Integer)(map.get(a))).intValue() + 1);
}
}
Set set = map.entrySet();
for(Iterator itr = set.iterator();itr.hasNext(); )
{
Map.Entry s = (Map.Entry)itr.next();
String key = (String)s.getKey();
String value = (String)s.getValue();
System.out.print(key + " " + value);
}
}
}
if((Integer)a == null) //如果該key指向null,說明未出現過,直接存入map中
{
map.put(a, new Integer(1));
}
這裡就壓根不會進去~~~map中就沒有值~~