写一个Point类,计算两个Point实例之间的距离;写一个判断点是否在圆内的方法。...

本文介绍了一个简单的Java程序实现,包括定义Point和Circle类来计算两点间的距离,并判断一个点是否位于另一个点为圆心的圆内。通过具体示例展示了如何使用这些类进行计算。

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

写一个Point类,计算两个Point实例之间的距离;写一个判断点是否在圆内的方法。

2009-07-15 09:02
//测试类
public class task0714{
      public static void main(String[] args){
     
            Point p1 = new Point();
            Point p2 = new Point();
            p1.setX(1);
            p1.setY(1);
            p2.setX(5);
            p2.setY(4);
           
            double d = Util.distencePP(p1,p2);
           
            System.out.println("点("+p1.getX()+","+p1.getY()+")和点("+p2.getX()+","+p2.getY()+")的距离为:"+d);
           
            //---------------------------------------------------------------
           
            Circle c = new Circle();
            c.setCC(p2);
            c.setR(5);
            String s = Util.distencePC(p1,c);
           
            System.out.print("点("+p1.getX()+","+p1.getY()+")在以点("+c.getCC().getX()+","+c.getCC().getY()+")为圆心、半径"+c.getR()+"的"+s);
     
      }
}
 
//计算方法
public class Util{
 
      public static double distencePP(Point p1, Point p2){//计算两点之间的距离
     
            double d1 = Math.hypot((p1.getX() - p2.getX()),(p1.getY() - p2.getY()));
           
            return d1;
     
      }
     
      public static String distencePC(Point p,Circle c){//判断点与圆心之间的距离和圆半径的关系
     
            String s ;
           
            double d2 = Math.hypot( (p.getX() - c.getCC().getX() ), (p.getY() - c.getCC().getY()) );
            double r = c.getR();
           
            if(d2 > r){
             
                  s = "圆外";
                 
            }else if(d2 < r){
                
                 s = "圆内";
                
            }else{
           
                  s = "圆上";
           
            }
           
            return s;
     
      }
}
 
//点类
public class Point{
      private int x = 0;
      private int y = 0;
     
      public void setX(int a){
       
           x = a;
       
      }
      public void setY(int b){
     
            y = b;
     
      }
      public int getX(){
     
            return x;
     
      }
      public int getY(){
     
            return y;
      
      }
     
}
 
//圆类
public class Circle{
      private double r;
      private Point cc;
     
      public void setR(double a){
     
            r = a;
     
      }
      public void setCC(Point centerOfCir){
     
            cc = centerOfCir;
     
      }
      public double getR(){
     
            return r;
     
      }
      public Point getCC(){
     
            return cc;
     
      }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值