我是java新手并且现在正在学习东西,我已经尝试过以下程序来存储哈希表中的键值对。我可以添加一个键和值,并能够检索它。
public static void main(String[] args){
Hashtable balance= new Hashtable();
Enumeration names;
String str;
int a;
balance.put("vishnu",new Integer(1000));
balance.put("Sam",new Integer(1420));
balance.put("Gobi",new Integer(890));
balance.put("Vel",new Integer(50));
names=balance.keys();
while(names.hasMoreElements()){
str=(String) names.nextElement();
System.out.println(str + " is getting "+balance.get(str));
}
System.out.println();
但是,当我试图修改附加值时。这给了我一个空指针异常。
a=((Integer) balance.get("vel")).intValue();
System.out.println("Before Adding "+a);
balance.put("Vel", new Integer(a+1000));
System.out.println("After adding "+balance.get("vel"));
}
答案 0 :(得分:0)
vel
与Vel
不同。您已在哈希表中插入vel
而非Vel
答案 1 :(得分:0)
a=((Integer) balance.get("vel")).intValue();
以下条件评估为假
"vel".equals("Vel")
答案 2 :(得分:0)
您尝试检索值的密钥不正确。你想要做的事情有一个错字。
您是在哈希表中输入密钥"Vel"
但是正在尝试检索"vel".
没有以"vel"
为键的键值对。
以下声明
a=((Integer) balance.get("vel")).intValue();
应该是这个
a=((Integer) balance.get("Vel")).intValue();