我有一个示例.dat文件,并且我试图读取列表中的每个数字作为坐标(它们都由空格定界符分隔)。我目前正在尝试使用一个二维数组。
我想使用点类将列表中的每个数字分配给(x,y)占位符。我的目标是打印5组最大的坐标。这是我现在拥有的当前代码:
package terrainProject;
import java.io.File;
import java.io.FileNotFoundException;
import java.util.Arrays;
import java.util.Scanner;
public class heightMap {
static int x;
static int y;
//private static Object point;
public static void main(String[] args) throws FileNotFoundException {
File mapNumbers = new File("terrain.dat");
@SuppressWarnings("resource")
Scanner sc = new Scanner(mapNumbers);
sc.useDelimiter(" ");
int[][] arr = new int [x][y];
while(sc.hasNextLine())
{
String line;
x = sc.nextInt();
y = sc.nextInt();
line = sc.nextLine();
for(int i = 0; i < arr.length; i++)
{
Point cords = new Point (x, y);
cords.getX();
cords.setX(x);
System.out.println(arr.length);
}
}
}
}
还有我的带有构造函数的point.java文件:
package terrainProject;
class Point {
int x;
int y;
public Point(int x, int y) {
this.x = x;
this.y = y;
}
public int getX() {
return x;
}
public int getY() {
return y;
}
public void setX(int x) {
this.x = x;
}
public void setY(int y) {
this.y = y;
}
public String toString() {
return ("(" + x + "," + y + ")");
}
}
编辑:这是我正在使用的.dat文件的一部分:
(32,20)
175 436 -245 290 -889 -453 568 -361 -792 919 -344 299 713 710 -800 924 635 169 -516 -862
-311 862 -36 881 884 600 502 -951 -578 380 -392 556 -949 640 -77 -293 77 -164 537 -532
846 -813 73 -137 -633 736 60