任何人都可以在java中帮我解决这个错误吗?

时间:2017-12-21 00:31:17

标签: java

我在java中创建哈希表,但在其中添加元素时存在问题。

Hashtable <Integer,String> hashT=new Hashtable<Integer ,String >();
 hashT.put<sum2 , g>;

第二行中的错误,其中define sum2是变量,包含integer值,g变量包含string值。我不知道在hash table.i中放置元素的问题在哪里每次都会在值变化时在哈希表中添加这些变量的值。

2 个答案:

答案 0 :(得分:0)

要使对象变异,必须调用其属性。对象属性可以是字段或方法。在您的情况下,puthashT对象的方法。方法调用是通过写对象名称,然后是点运算符,然后是方法名称以及最后用括号括起来的参数来完成的:

objectName.methodName(argument1, argument2, ...);

问题在这里:

hashT.put<sum2 , g>;

put是一种方法,要调用它,您必须用括号将参数(sum2g)括起来:

hashT.put(sum2, g);

答案 1 :(得分:-2)

您需要关注评论并修改标题,使其成为一个有意义的标题,以帮助其他人了解您的问题。

此外,当您收到错误时,请复制控制台中显示的大红色文本(颜色取决于您使用的编辑器),也称为错误的“堆栈跟踪”,然后将其转移到您的问题中。这将有助于我们查明正在发生的事情,错误标题本身可能会给我们带来什么错误。

但是,如果没有关于错误是什么以及在这两行代码之前或之后的内容的任何上下文,则很难确定您之前是否已将sum2g定义为存储的变量值。我假设您至少没有分配其中一个,可能g作为变量。

出于实验目的,请尝试使用以下代码替换这两行代码:

Hashtable <Integer,String> hashT=new Hashtable<Integer ,String >();
 hashT.put<0 , "g">;

将零(0)作为显式整数并将g作为显式字符串放入哈希表中。如果你需要将变量放入那里,那么你需要事先定义它们,如下所示:

int sum2 = 3 + 4;
String g = "Some String";

Hashtable <Integer,String> hashT=new Hashtable<Integer ,String >();
hashT.put<sum2 , g>;

现在整数值7作为哈希值存储,字符串Some String作为映射值存储。