Java 下面的哈希表程序不工作?
我是java新手,现在正在学习一些东西,我已经尝试了下面的程序在哈希表中存储键值对。我可以添加一个键和值,并能够检索它Java 下面的哈希表程序不工作?,java,Java,我是java新手,现在正在学习一些东西,我已经尝试了下面的程序在哈希表中存储键值对。我可以添加一个键和值,并能够检索它 public static void main(String[] args){ Hashtable balance= new Hashtable(); Enumeration names; String str; int a; balance.put("vishnu",new Integer(1000)); balance.pu
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"));
}
vel
在哈希表键方面不同于vel
。您已经在哈希表中插入了vel
,而不是vel
a=((Integer) balance.get("vel")).intValue();
以下条件的计算结果为false
"vel".equals("Vel")
尝试检索值时使用的键不正确。你想做的事情有一个输入错误。 您正在哈希表中输入键
“Vel”
,但试图检索“Vel”。
没有以“vel”
作为键的键值对
这项声明如下
a=((Integer) balance.get("vel")).intValue();
应该是这个吗
a=((Integer) balance.get("Vel")).intValue();