Я пытаюсь создать калькулятор формулы Haversine. для получения дополнительной информации, получил: https://en.wikipedia.org/wiki/Haversine_formula
У меня есть ошибка в выводе:
longitude and latitude of home :
20.593683 78.962883
longitude and latitude of travel destination :
56.130367 106.346771
Exception in thread "main" java.lang.NullPointerException
at haversine.execute(test28.java:14)
at test28.main(test28.java:32)
Мой код:
import java.util.Scanner;
class haversine {
double long1;
double lat1;
double long2;
double lat2;
haversine (Double long1, Double lat1, Double long2, Double lat2) {
this.long1 = long1;
this.lat1 = lat1;
this.long2 = long2;
this.lat2 = lat2;
}
double execute() {
return Math.pow(Math.sin((lat2 - lat1)/2) ,2) + Math.cos(long1) * Math.cos(long2) * Math.pow(Math.sin((long2 - long1)/2) ,2);
}
double disCalc (Double exe) {
Double radius_of_earth = 6378.1;
return 2 * radius_of_earth * Math.asin(Math.pow(exe, 2));
}
}
class test28 {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
System.out.println("longitude and latitude of home : ");
double long1 = scan.nextDouble();
double lat1 = scan.nextDouble();
System.out.println("longitude and latitude of travel destination : ");
double long2 = scan.nextDouble();
double lat2 = scan.nextDouble();
haversine obj = new haversine(long1, lat1, long2, lat2);
double exe = obj.execute();
double distance = obj.disCalc(exe);
System.out.println("The Distance is : " + distance);
scan.close();
}
}
Пожалуйста, скажите мне, в чем ошибка.