package mp1similar;
import java.io.BufferedReader;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.util.ArrayList;
import java.util.StringTokenizer;
import java.util.logging.Level;
import java.util.logging.Logger;
import EarthquakeRecord.Earthquakerecd;
public class MP1Similar
{
private static ArrayList arrayList ;
public static void main(String[] args)
{
ArrayList arrayList= null;
try
{
BufferedReader br = new BufferedReader(new FileReader("data/Catalog.txt"));
String line="";
arrayList =new ArrayList();
while((line = br.readLine())!=null)
{
// System.out.println(line);
StringTokenizer st = new StringTokenizer(line);
while(st.hasMoreTokens())
{
//System.out.println(st.nextToken());
arrayList.add(st.nextToken());
//System.out.println(br.readLine());
}
}
}
catch (FileNotFoundException ex)
{
System.out.println(ex.getMessage());
ex.printStackTrace();
}
catch (IOException ex)
{
System.out.println(ex.getMessage());
ex.printStackTrace();
}
int j=0;
Earthquakerecd E[]= new Earthquakerecd[2000];
for(int i=0;i< arrayList.size();i++)
{
System.out.println(arrayList.get(i));
E[j] = new Earthquakerecd();
E[j].setDate(arrayList.get(i));
if (j>35 )
{
j=0;
}
j++;
}
}
}
当我将值从arrayList
传递给E[j]setDate
时,我收到错误消息。它表示setDates
中的方法无法应用于给定类型。 aL
Arraylist
的对象。我编辑了代码以包含所有内容。基本上它是从TXT文件读取数据的代码。共有35列,超过1500行。每列都属于某个属性,如日期,名称等。
答案 0 :(得分:2)
您正尝试在方法调用的结果上使用赋值运算符:
E[j].setDate()=(aL.get(i));
我怀疑你想要:
E[j].setDate(aL.get(i));
但是,由于您永远不会初始化NullPointerException
,因此E[j]
将会失败 - 它将始终为空引用。我怀疑你想要:
E[j] = new Earthquakerec();
在某个地方的循环中。你可能也想在某个时候增加j
...(目前还不清楚这里的各种魔术数字是什么 - 我怀疑你可以更清楚地编写整个代码,但是很难建议当我们不知道它想要实现什么时,我们会有所改进。)