java判断问题 模拟人员是否感染

本文介绍了一个Java程序,该程序定义了Point类来表示二维坐标上的点,并提供了计算两点间距离的方法。此外,还实现了一个计算点间感染概率的函数,依据两点间的距离返回不同的感染概率。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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);
}

}
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值