CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Java >  J2SE / 扩展类

问一个简单错误,请各位帮忙

楼主throughardtime(临时抱佛脚)2006-07-02 12:00:19 在 Java / J2SE / 扩展类 提问

 
  程序一直报错,请指出我哪里写错了  
   
  String[]   headName   =   null;  
   
   
    for   (int   i=0;i<data.size   ();i++){  
                  a=((String)data.get   (i)).split   ("   ");  
                  int   count=a.length;  
                     
                  if(i==0){  
                        for(int   m=0;m<count;m++){  
                                        headName[m]=a[m];  
                                      System.out.println(headName);  
                                                        }  
   
  所报错误是headName[m]=a[m]这一行是空指针,我测试了a数组,里面是有内容的,不知道我在哪里写错了,请各位指点一下 问题点数:20、回复次数:14Top

1 楼yingge(...木脑壳...)回复于 2006-07-02 12:15:51 得分 20

for   (int   i=0;i<data.size   ();i++){  
                  a=((String)data.get   (i)).split   ("   ");  
                  int   count=a.length;  
                  headName=new   String[count];    
                  if(i==0){  
                        for(int   m=0;m<count;m++){  
                                        headName[m]=a[m];  
                                      System.out.println(headName);  
                                                        }  
   
  最近这种问题很多啊  
  Top

2 楼throughardtime(临时抱佛脚)回复于 2006-07-02 17:33:50 得分 0

谢谢楼上的帮助,这下程序没有报错了,但是出现了新的问题,我输出headName以后,显示的全是[Ljava.lang.String;@35ce36,这个错误在我输出a时  
  就发生过,不知道是为什么,按理说headName应该是由几个字符串组成的数组。请问这是为什么?Top

3 楼zebra007(呼呼)回复于 2006-07-02 17:52:45 得分 0

headName是String的数组  
  所以你System.out.println(headName);时实际上输出的是地址值  
   
  应该是System.out.println(headName[m]);Top

4 楼throughardtime(临时抱佛脚)回复于 2006-07-02 20:52:29 得分 0

嗯,我也发现这个错误了,可是我将程序改成如下,又发生了错误,请问为什么?  
    public   void   setHeadName   (String[]   a)   {  
                                  int   m;  
                                    int   count=a.length;  
                                    headName=new   String[count];    
                                    for(   m=0;m<count;m++)  
                                                headName[m]=a[m];  
                               
                  }  
                  public   String[]   getHeadName(){  
                                  return   headName;  
                  }  
  我想错误是发生在最后一个语句上的,但是我将怎么在调用get函数时取得每一个headName的值呢?Top

5 楼yingge(...木脑壳...)回复于 2006-07-02 21:14:15 得分 0

怎么不行呢?完全可以啊  
   
  public   class   TestStr   {  
          String[]   headName;  
          public   void   setHeadName   (String[]   a)   {  
                                  int   m;  
                                    int   count=a.length;  
                                    headName=new   String[count];    
                                    for(   m=0;m<count;m++)  
                                                headName[m]=a[m];  
                               
                  }  
                  public   String[]   getHeadName(){  
                                  return   headName;  
                  }  
                  public   static   void   main(String[]   args){  
                          TestStr   ts=new   TestStr();  
                          String[]   s={"hello","world","str1","str2","str3",};  
                          ts.setHeadName(s);  
                          String[]   d=ts.getHeadName();  
                          for(int   i=0;i<d.length;i++)  
                                  System.out.println(d[i]);  
                  }  
  }Top

6 楼throughardtime(临时抱佛脚)回复于 2006-07-02 22:00:43 得分 0

我的问题其实是这样的,我想在另外一个类里调用getheadName   这个方法,取的是headName里的每一个数据,现在奇怪的是我居然无法调用这个函数,不知道为什么?比如,我写TestStr.getheadName并无法找到这个方法。Top

7 楼yingge(...木脑壳...)回复于 2006-07-02 22:12:04 得分 0

TestStr.getheadName   ???  
   
  你的这个getHeadName的方法又不是静态方法,怎么能用类名调用?  
   
  TestStr   ts=new   TestStr();  
  String[]   d=ts.getHeadName();  
   
  先要得到这个类的一个对象实例Top

8 楼throughardtime(临时抱佛脚)回复于 2006-07-02 22:49:03 得分 0

非常感谢,我是刚刚开始学习编程的,会犯很多弱智错误,请谅解。Top

9 楼throughardtime(临时抱佛脚)回复于 2006-07-02 23:06:36 得分 0

不知道yingge(盼胖)   熟不熟悉xml,实际上我是想将一个文本文件写入xml里不知从何下手,不知你可否指点一下  
  文本文件如下:  
  WellName   X-Coord   Y-Coord   KB   TopDepth   BottomDepth   Symbol  
  34/10-A-10   60491.7   35683.0   56.6   0   2534   Oil  
  34/10-A-15   61757.5   30147.1   23.6   0   3133   Gas  
   
  要写成如下形式的xml:  
   
  <wellhead>  
          <well   name="34/10-A-10"   X-Coord="60491.7"   Y-Coord="35683.0"   KB="56.6"         TopDepth="0"   BottomDepth=   "2534"   Symbol="Oil"/>  
          <well   name="34/10-A-15"   X-Coord="   61757.5"   Y-Coord="   30147.1     "       KB="23.6"   TopDepth="0"   BottomDepth=   "   3133   "   Symbol="Gas"/>  
  <wellhead/>  
  Top

10 楼yingge(...木脑壳...)回复于 2006-07-02 23:45:49 得分 0

java好像有一些专门处理xml的包的,不过我没有用过  
   
  要就你的需求来说,如果用的Linux就简单了,几句shell教本就解决了。Top

11 楼throughardtime(临时抱佛脚)回复于 2006-07-03 13:34:44 得分 0

唉,昨晚又做了一晚上,还是没有成功。我快要被自己笨死了,谁能给我点盏明灯啊!!!Top

12 楼zijingzelan(紫荆泽兰)回复于 2006-07-03 15:52:18 得分 0

路过~Top

13 楼throughardtime(临时抱佛脚)回复于 2006-07-03 16:32:41 得分 0

郁闷啊郁闷,又出错了,这次是count=a.length输出说啥都是20,我真是奇怪了,怎么可能是那个数嘛。请问这是怎么回事?Top

14 楼talentluo(罗体真下流)回复于 2006-07-03 21:36:52 得分 0

无能为力!Top

相关问题

关键词

得分解答快速导航

  • 帖主:throughardtime
  • yingge

相关链接

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

广告也精彩

反馈

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