输入为任意两点,输出如下距离:欧式距离、麦哈顿距离、切比雪夫距离(Chebyshev distance)、闵可夫斯基距离(Minkowski distance)
public class Distance{
//定义距离函数
double sum;
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
//第一个点
System.out.println("第一个点的横坐标x为:");
pointdome p1 = new pointdome();
int x1 = sc.nextInt();
System.out.println("第一个点的纵坐标y为:");
int y1 = sc.nextInt();
p1.setX(x1);
p1.setY(y1);
//第二个点
System.out.println("第二个点的横坐标x为:");
pointdome p2 = new pointdome();
int x2 = sc.nextInt();
System.out.println("第二个点的纵坐标y为:");
int y2 = sc.nextInt();
p2.setX(x2);
//传参
diso(x1, x2, y1, y2);
dism(x1, x2, y1, y2);
disq(x1, x2, y1, y2);
dismin(x1, x2, y1, y2);
disma(x1, x2, y1, y2);
int n, sum = 0;
int a[] = new int[1001];
int b[] = new int[1001];
Scanner scanner = new Scanner(System.in);
n = scanner.nextInt();
for (int i = 1; i <= n; i++) {
a[i] = scanner.nextInt();
}
for (int i = 1; i <= n; i++) {
b[i] = scanner.nextInt();
}
}
public static void diso(int x1,int x2,int y1,int y2){
double sum= Math.sqrt((x1-x2)*(x1-x2)+(y1-y2)*(y1-y2));
System.out.println("你输入的("+x1+","+y1+")("+x2+","+y2+")两点之间的欧式距离为:"+sum);
}
public static void dism(int x1,int x2,int y1,int y2){
double sum= Math.abs(x1-x2)+Math.abs(y1-y2);
System.out.println("你输入的("+x1+","+y1+")("+x2+","+y2+")两点之间的麦哈顿距离为:"+sum);
}
public static void disq(int x1,int x2,int y1,int y2){
double sum= Math.max(Math.abs(x1-x2),Math.abs(y1-y2));
System.out.println("你输入的("+x1+","+y1+")("+x2+","+y2+")两点之间的切比雪夫距离为:"+sum);
}
public static void dismin(int x1,int x2,int y1,int y2){
double sum= Math.sqrt(Math.abs((x1-x2)*(x1-x2)+(y1-y2)*(y1-y2)));
System.out.println("你输入的("+x1+","+y1+")("+x2+","+y2+")两点之间的闵可夫斯基距离为:"+sum);
}
public static void disma(int x1,int x2,int y1,int y2){
double sum= Math.sqrt((x1-x2)*(x1-x2)+(y1-y2)*(y1-y2));
System.out.println("你输入的("+x1+","+y1+")("+x2+","+y2+")两点之间的马氏距离为:"+sum);
}
}
class pointdome{
private int x;
private int y;
public pointdome() {
}
public pointdome(int x,int y) {
this.x = x;
this.y=y;
}
public int getX() {
return x;
}
public void setX(int x) {
this.x = x;
}
public int getY() {
return y;
}
public void setY(int y) {
this.y = y;
}
}