使用点类时,通过扫描仪读取.dat文件

时间:2019-02-28 04:03:28

标签: java

我有一个示例.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

0 个答案:

没有答案