CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Java >  J2SE / 基础类

各位大侠

楼主piaoran11()2005-04-02 21:23:00 在 Java / J2SE / 基础类 提问

各们大侠,我是java的初学者,自己编了个实现计数功能的程序。  
  但现在运行老出现nullpointerexception不知道如何,请各位指点指点,谢谢!  
  本程序是从文件中读取一文本,文本形如the/art   fulton/np   country/np   grand/np   jury/np.....took/vbd   place/nn./. 然后对art   np   np   np   ...两两计数。  
  import   java.io.*;  
  import   java.util.*;  
    class   Read_f{  
  Read_f(){  
     
    FileReader   file   ;  
    BufferedReader   in;  
    String   t;  
     
    String   str[]=new   String[10000];  
     
   
  //读取文本  
   
    try{  
    file=new   FileReader("tagged.txt");//读取语料库  
    in=new   BufferedReader(file);  
  }  
    catch(FileNotFoundException   e)   {}  
    catch(IOException   e)   {}  
      //reading();  
     
   
  //抓取词性  
   
     
      int   i=0;  
      try{   file=new   FileReader("tagged.txt");//读取语料库  
    in=new   BufferedReader(file);  
      String   s=new   String(in.readLine());  
        if(!(s.startsWith("/.")))  
          {  
            StringTokenizer   tokenizer=new   StringTokenizer(s);  
                    //利用空格作为分隔符  
              while(tokenizer.hasMoreTokens())    
                  {  
                      t=tokenizer.nextToken();  
                      str[i]=t.substring(t.indexOf("/")+1);  
                      //获得一个词性并存储于数组中  
                            i++;  
  }  
  }  
        else   if(s.startsWith("/."))  
                    {  
                        in.close();  
                          file.close();  
  }  
  }  
        catch(IOException   exp)     {}  
  //}  
   
  //统计  
   
  class   tagged{  
                  String   s1,s2;  
                  int   count1;  
  }  
    tagged[]   tagging=new   tagged[10000];  
     
     
      for(int   i1=0;i1<str.length;i++)  
      {   int   j=0;  
          while(tagging[i].count1==0)  
              {  
                  if(tagging[j].s1==str[i1]&&tagging[j].s2==str[i1+1])  
                      {tagging[j].count1++;  
                        break   ;}  
                      j++;  
                }    
            tagging[j].s1=str[i1];  
            tagging[j].s2=str[i1+1];  
            tagging[j].count1++;  
  }  
  for(int   i1=0;i1<str.length;i1++)  
              {  
                      //System.out.println(tagging[i1].s1+tagging[i1].s2+tagging[i1].count);  
                      System.out.println("hello");}  
       
  }  
  }  
  public   class   CountTagging{  
  public   static   void   main(String   args[])  
  {     Read_f   file1=new   Read_f();  
       
  }  
  }  
     
  问题点数:0、回复次数:3Top

1 楼killme2008(为了生态平衡,请保护蛤蟆)回复于 2005-04-02 22:18:03 得分 0

你的String数组不一定完全填满,访问并未赋值的位置会引发NullPointException  
  用容器类吧,ArrayList或者VectorTop

2 楼piaoran11()回复于 2005-04-02 22:38:01 得分 0

好的,我试试看  
  谢谢:)Top

3 楼hanyaocsdn()回复于 2005-04-02 22:59:19 得分 0

upTop

相关问题

  • 请教各位各位!!
  • 请问各位?
  • 各位小心
  • 各位大哥.....
  • 各位老大:
  • 各位累吗?
  • 各位早呀!!!
  • 各位helpme
  • 谢谢各位!
  • 请教各位!!

关键词

  • 文本
  • np
  • 读取
  • filereader
  • tagged
  • bufferedreader
  • tokenizer
  • catch
  • reading

得分解答快速导航

  • 帖主:piaoran11

相关链接

  • CSDN Java频道
  • Java类图书
  • Java类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo