Hashtable的put 的两个参数都是Object:
user.put(username,usetime);
是错的,应时:
user.put(username,new Integer(usetime));
相应:
addtime=user.get(username);
应该为:
addtime=((Integer)user.get(username)).intValue();
*另外,你的愿意是不是要把 usetime也打印出来?如果那样在输出时要加上:
int times=((Integer)user.get(key)).intValue();
System.out.println("Key is: " + key.toString()+" usetime:"+times);
这样,我运行了,输出结果类似:
---------- run ----------
Key is: gang usetime:10
Key is: niu usetime:11
Key is: zhao usetime:3
Normal Termination
Output completed (5 sec consumed).
user.put(username,usetime);
是错的,应时:
user.put(username,new Integer(usetime));
相应:
addtime=user.get(username);
应该为:
addtime=((Integer)user.get(username)).intValue();
*另外,你的愿意是不是要把 usetime也打印出来?如果那样在输出时要加上:
int times=((Integer)user.get(key)).intValue();
System.out.println("Key is: " + key.toString()+" usetime:"+times);
这样,我运行了,输出结果类似:
---------- run ----------
Key is: gang usetime:10
Key is: niu usetime:11
Key is: zhao usetime:3
Normal Termination
Output completed (5 sec consumed).
zhao 3
gang 10
niu 11
import java.util.*;public class fee1
{
public static void main(String arg[])
{Hashtable user=new Hashtable();
try
{
String line_str;
int line_number=0;
int addtime;
String username="0";
String usetime="0";
FileInputStream is=new FileInputStream("fee.txt");
DataInputStream ds=new DataInputStream(is);
while((line_str=ds.readLine())!=null)
{
line_number++;StringTokenizer st=new StringTokenizer(line_str);
//get username and usetime
//System.out.println("line="+line_number+"--->"+line_str+"st="+st);
username=st.nextToken();
//usetime=Integer.parseInt(String.valueOf((Object)st.nextToken()));
usetime=st.nextToken();
//System.out.println("line="+line_number+" username--->"+username);
//user.put(username,usetime);
if(!user.containsKey(username))
{
user.put(username,usetime);
}
else
{
addtime=Integer.parseInt(String.valueOf(user.get(username)));
usetime=usetime+addtime;
user.put(username,usetime);
}} //System.out.println("the end:"+username+":"+usetime);
Enumeration e = user.elements() ;
while(e.hasMoreElements())
{
username=String.valueOf((Object)e.nextElement());
usetime=(String)user.get(username);
System.out.println("username:"+username);
System.out.println("time:"+usetime);
}
System.out.println("---------end---------");
ds=null;
}
catch(Exception e)
{
System.out.println("file error:"+e);
}
}
}
ywg sli8 202.96.34.100 Fri Jul 20 23:51 - 00:18 (00:27) 1632
ywg tty8 202.96.34.100 Fri Jul 20 23:51 - 23:51 (00:00) 4
mbm sli3 168.160.229.97 Fri Jul 20 23:45 - 09:14 (09:29) 34141
mbm sli3 168.160.229.97 Fri Jul 20 23:40 - 23:45 (00:05) 327
mbm tty3 168.160.229.97 Fri Jul 20 23:40 - 23:40 (00:00) 3
xinxin sli7 168.160.229.97 Fri Jul 20 23:34 - 23:36 (00:01) 82
xinxin tty7 168.160.229.97 Fri Jul 20 23:34 - 23:34 (00:00) 4
我并没有糊弄人,哪个问题的分我已给过啦,我也想从不同人的程序中学习高深的编程思路,还望各位高人谅解!!谢谢!!