问一个简单错误,请各位帮忙
程序一直报错,请指出我哪里写错了
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




