我需要将 .txt 文件转换为数组,然后将其绘制在图表中。 我的问题是:
我有一个包含x,y值的文本文件:
23, 92
26, 16
45, 14
32, 11
43, 17
46, 58
等......(这么多价值观)
我希望将其转换为数组:
double [] x= { 23, 26, 45, 32, 43, 46,...}
double [] y= { 92, 16, 14, 11, 17, 58,...}
这个数组将在图形中设置,但我需要先将它设置为数组,以便我绘制它。
我还没有这方面的代码。请帮忙:(
答案 0 :(得分:1)
public class ReadFile{
public static void main(String[] args){
BufferedReader br = new BufferedReader(new BufferedReader(new FileReader("pathToFile")));
String line = "";
// reading when each line has x, y
while((line = br.readLine())!=null){
String[] t = line.split(",");
double x = Double.parseDouble(t[0].trim());
double y = Double.parseDouble(t[1].trim());
// store it in the array/list
// or create a Class Pair having x & y coordinate
}
}
}
使用Pair类,它看起来像这样
class Pair{
double x , y;
Pair(double x , double y){
this.x = x;
this.y = y;
}
}
// the reading logic
public class ReadFile{
public static void main(String[] args){
List<Pair> pointList = new ArrayList<Pair>();
BufferedReader br = new BufferedReader(new BufferedReader(new FileReader("pathToFile")));
String line = "";
while((line = br.readLine())!=null){
String[] t = line.split(",");
double x = Double.parseDouble(t[0].trim());
double y = Double.parseDouble(t[1].trim());
// store it in the array/list
// or create a Class Pair having x & y coordinate
Pair p = new Pair(x,y);
pointList.add(p);
}
}
}
答案 1 :(得分:1)
由于您不知道前面有多少个顶点,因此请考虑使用两个List集合代替两个数组。
这可以让您遵循以下算法:
循环结束后,您可以在两个并行集合中获得积分。