簡體   English   中英

從文件中協調Java

[英]Coordinates in Java from file

我正在嘗試從文件中讀取一些坐標,並將它們的xy值作為整數,以便我可以計算出兩點之間的距離。 我已經設法使用Scanner從每一行中獲取一些數字,但現在這個方法似乎是將每個數字作為一個單獨的數字讀取。 所以當我使用以下樣本數據時:

(25, 4) (1, -6)

我最終得到:

(2, 5) (4, 1)

我用來從文件中獲取數字並輸出答案的代碼是:

import java.io.File;
import java.util.Scanner;

public class Main{
    public static void main(String[] args) throws Exception{
        File file = new File(args[0]);
        Scanner sc = new Scanner(file);
        sc.useDelimiter("\\D*");
        while(sc.hasNext()){
            double xOne = sc.nextInt();
            double yOne = sc.nextInt();
            double xTwo = sc.nextInt();
            double yTwo = sc.nextInt();
            sc.nextLine();
            System.out.println(xOne + "," + yOne + "," + xTwo + "," + yTwo);
            int d = (int)Math.sqrt(Math.pow((xTwo - xOne), 2) + Math.pow((yTwo - yOne), 2));
            System.out.println(d);
        }
        sc.close();
    }
}

正則表達式\\D*匹配任何非數字序列,包括空數字。 因為它匹配空字符串,所以您的掃描儀將一次讀取一個字符。

sc.useDelimiter("\\D+");

代替。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM