import java.util.*;
class TestJHashtable
{
public static void main(String agrs[])
{
String str[]={"数学","语文","政治","历史"};
    int a[]={"80","85","90","88"};
Hashtable hash=new Hashtable();
for(int i=0;i<str.length;i++)
{
hash.put(str[i],a[i]);/*出错的地方*/
}
Object obj;
Enumeration enu=hash.keys();

while(enu.hasMoreElements())
{
obj=enu.nextElement();
System.out.println(obj+":"+hash.get(obj));
} } 
}
为什么会出现cannot resolve sybmol method put...?
put(object,object)object不是什么类型的数据都可以吗?
 

解决方案 »

  1.   

    楼主的类能通过编译?int a[]={"80","85","90","88"}; 这里首先就不对,int型数组里放不了String.....另外建议楼主用一个成绩类而不是成绩集合来装数据....
      

  2.   

    就问题而论..... hashtable 里面放的都是对象类型  而不是原始类型而int 是java原始类型你的jdk版本可能是1.4 或者更低  你换成1.5
    有范型支持 和自动拆装包可以这样写你的代码:String str[] = { "数学", "语文", "政治", "历史" };
    int a[] = { 80, 85, 90, 88 };
    Hashtable<String, Integer> hash = new Hashtable<String, Integer>();
    for (int i = 0; i < str.length; i++) {
    hash.put(str[i], a[i]);/* 出错的地方 */
    }