当前页面: 开发资料首页 → 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 中不能打印出全部的数据