私は次のようにコードを開始しました:
public static void main(String[] args) {
//Intro
System.out.print("This program calculates the distance between two cities, given their respective latitude and longitude points.");
System.out.println();
//Get values for Latitude and Longitude
Scanner console = new Scanner(System.in);
double lat1 = getCoordinates(" latitude 1: ", console); // Input lat1
double long1 = getCoordinates(" longitude 1: ", console); // Input long1
double lat2 = getCoordinates(" latitude 2: ", console); // Input lat2
double long2 = getCoordinates(" longitude 2: ", console); // Input long2
public static double getCoordinates(String message, Scanner scan)
{
System.out.print("Please enter" + message);
int degrees = scan.nextInt();
int minutes = scan.nextInt();
return Math.toRadians(degrees + (minutes / 60.0));
}
//Calculate Distance
public static double finalAnswer(double lat1, double long1, double lat2, double long2) {
double radiusOfEarth = 6372.795; //radius of Earth in km
double distance = Math.acos(Math.sin(lat1)*Math.sin(lat2) +
Math.cos(lat1)*Math.cos(lat2) *
Math.cos(long2-long1)) * radiusOfEarth;
return distance;
System.out.print("The distance between the two cities is approximately " + distance + "km");
}
}
緯度と経度のポイントごとに度と分 (度、分) を入力できるようにする必要があります。ただし、コードの最後の行で「距離」を出力しようとすると、コンパイル エラーが発生します。また、Eclipse は、lat1、long1、lat2、および long2 が使用されていないことを教えてくれます (「緯度と経度の値を取得する」セクション)。誰かが距離を印刷するのを手伝ってくれますか? ありがとうございました。