import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.Scanner;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import com.alibaba.fastjson.JSONObject;
/*
-
定义Point对象用于表示点对象
*/
class Point {
//定义x表示横坐标
private double x;
//定义y表示纵坐标
private double y;//构造方法
public Point(){}
//有参构造方法
public Point(double x, double y){
this.x=x;
this.y=y;
}public double getX() {
return x;
}public void setX(double x) {
this.x = x;
}public double getY() {
return y;
}public void setY(double y) {
this.y = y;
}
}
public class Main {
/*
* 函数功能:计算2个点的距离
* p1:表示第一个点
* p2:表示第二个点
*/
public static double distanct(Point1 p1,Point1 p2){
//定义变量用于保存结果
double result=0.0;
//计算2点的距离 sqrt( (x1-x2)*(x1-x2)+(y1-y2)*(y1-y2) )
result=Math.sqrt( (p1.getX()-p2.getX())*(p1.getX()-p2.getX())+((p1.getY()-p2.getY())*(p1.getY()-p2.getY())));
//返回
return result;
}
/*
* 计算p2点距病人p1点感染的概率
*/
public static double calcRate(Point1 p1,Point1 p2){
//定义变量用于保存计算的概率
double rate=0.0;
//计算2点的距离
double distanct=distanct(p1,p2);
//判断距离<30,感染的概率:0.4
if(distanct<30){
return 0.4;
}
//判断距离<20,感染的概率:0.6
if(distanct<20){
return 0.6;
}
//其他不感染
return 0.0;
}
//main函数,程序入口
public static void main(String[] args) {
//定义病人坐标
Point1 pant=new Point1(1,2);
//定义Scanner对象用于接受用户输入
Scanner sc=new Scanner(System.in);
//输入提示
System.out.println("please enter point x,y:");
//接受用户输入的数值
double x=sc.nextDouble();
//接受用户输入的数值
double y=sc.nextDouble();
//生成路人点对象
Point1 cust=new Point1(x,y);
//判断感染概率
double result=calcRate(pant,cust);
System.out.println("cust rate is:"+result);
}
}