描述
请从标准输入流(控制台)中获取 4 个正整数 x1,y1,x2,y2 表示两个点的坐标 (x1, y1),(x2, y2), 要求计算出这两个点之间的距离(保留两位小数),并且你需要使用 System.out.printf 语句输出该距离。
1 ≤ x 1 , y 1 , x 2 , y 2 ≤ 10 1\leq x_1,y_1,x_2,y_2\leq10 1≤x1,y1,x2,y2≤10
样例
评测机会将整个项目的代码编译为一个可执行的 Main 程序,并按照这样的方式执行你的代码 Main。你的代码需要从标准输入流(控制台)中读入数据 x1,y1,x2,y2,每个参数单独一行,计算出结果并打印到标准输出流(控制台)中。
样例一
当 x1 = 1,y1 = 3,x2 = 5,y2 = 4 时,程序执行打印出的结果为:
4.12
样例二
当 x1 = 4,y1 = 3,x2 = 7,y2 = 5 时,程序执行打印出的结果为:
3.61
解法一:函数调库 sqrt 的使用
通过 java 中的自带函数 Math.sqrt 来求平方根。
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
// write your code here
// read data from console
// output the answer to the console according to the
// requirements of the question
Scanner sc = new Scanner(System.in);
int x1 = sc.nextInt();
int y1 = sc.nextInt();
int x2 = sc.nextInt();
int y2 = sc.nextInt();
double distance = Math.sqrt(((x1-x2)*(x1-x2) + (y1-y2) * (y1-y2)));
System.out.printf("%.2f\n",distance);
}
}
解法二:函数调库 pow 的使用
通过java 中的自带函数 Math.pow 来求平方根。
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int x1 = sc.nextInt(), y1 = sc.nextInt();
int x2 = sc.nextInt();
int y2 = sc.nextInt();
double distance = Math.pow(((x1 - x2) * (x1 - x2)) +
((y1 - y2) * (y1 - y2)), 0.5);
System.out.printf("%.2f\n", distance);
}
}
知识要点
算术计算方式:
Math.sqrt() : 计算平方根
Math.cbrt() : 计算立方根
Math.pow(a, b) : 计算a的b次方
Math.max( , ) : 计算最大值
Math.min( , ) : 计算最小值
Math.abs() : 取绝对值