站内搜索: 请输入搜索关键词

当前页面: 开发资料首页J2SE 专题这个错误是为什么

这个错误是为什么

摘要: 这个错误是为什么


这是一个从文件中读取数据到hashtable,并打印出来的程序,但打印出来的时候为什么只有最后一条数据,还有在“最后更新日期“前为什么多了一个0,”找了很久找不出错误,请大家帮忙找找,谢谢了。
以下是文件内容,保存成“stock.txt”就可以了

FUJITSU 最后更新日期: 2003.05.13; 涨幅: 2.11%; 成交量: 60,400
ORACLE 最后更新日期: 2003.05.13; 涨幅: -0.13%; 成交量: 10,500
IBM 最后更新日期: 2003.05.13; 涨幅: 5.23%; 成交量: 90,600
HP 最后更新日期: 2003.05.13; 涨幅: -6.15%; 成交量: 35,122




import java.util.*;
import java.io.*;

class Test
{

String line="";
String id="";
StringBuffer value=new StringBuffer();
Hashtable ht=null;

public void dd()
{

try{

BufferedReader file=new BufferedReader(new FileReader("stock.txt"));
while((line=file.readLine())!=null)
{

StringTokenizer st=new StringTokenizer(line);
id=st.nextToken().toUpperCase();
while(st.hasMoreTokens())
{
value.append(st.nextToken());
if(st.hasMoreTokens())
{
value.append(" ");
}
}

ht=new Hashtable();
ht.put(id,value.toString());

System.out.println (id+" "+(String)(ht.get(id)));
value.replace(0,value.length()-1,"");
id="";


}
Enumeration en=ht.elements();
while(en.hasMoreElements())
{
System.out.println ((String)(en.nextElement()));
}

}
catch (Exception ex) {
}
}
public static void main(String[] args)
{
Test test=new Test();
test.dd();
}
}


全部数据都打印了啊



value.replace(0,value.length(),"");//改成这样去"0"


import java.util.*;
import java.io.*;

class Test
{

String line="";
String id="";
StringBuffer value=new StringBuffer();
Hashtable ht=null;

public void dd()
{

try{

BufferedReader file=new BufferedReader(new FileReader("stock.txt"));
StringTokenizer st = null;
while((line=file.readLine()) != null)
{

st=new StringTokenizer(line);
id=st.nextToken().toUpperCase();

while(st.hasMoreTokens())
{
value.append(st.nextToken());
if(st.hasMoreTokens())
{
value.append(" ");
}
}

ht=new Hashtable();
ht.put(id,value);

System.out.println (id + " " + ht.get(id));
value.replace(0,value.length(),"");
id="";


}
Enumeration en=ht.elements();
while(en.hasMoreElements())
{
System.out.println ((String)(en.nextElement()));
}

}
catch (Exception ex) {
}
}
public static void main(String[] args)
{
Test test=new Test();
test.dd();
}
}


Hashtable ht=null;
这条语句是什么意思,为什么有<>


还有个问题还没解决啊,就是在Enumeration 中不能打印出全部的数据


↑返回目录
前一篇: java中如何根据一个字符串来创建一个类的对象
后一篇: 写socket服务器程序时不能解决的问题