[英]Coordinates in Java from file
我正在嘗試從文件中讀取一些坐標,並將它們的x
和y
值作為整數,以便我可以計算出兩點之間的距離。 我已經設法使用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.