由键盘输入一个点的坐标, 要求编程判断这个点是否在单位圆上,点在圆上输出Y, 不在圆上输出N。Java语言

使用小数点后3位精度进行判断。注:类名必须用Main(大写M)... 使用小数点后3位精度进行判断。注:类名必须用Main(大写M) 展开
 我来答
Arvin90
推荐于2017-12-15 · TA获得超过452个赞
知道小有建树答主
回答量:297
采纳率:89%
帮助的人:235万
展开全部

本题的关键是计算你输入的那个点的坐标与圆心的距离是否小于等于半径就可以了,假设单位圆的圆心是(0,0), 半径是1, 你输入一个坐标为(x, y) 那么计算(x, y)到(0, 0)的距离如果小于等于1就可以了,具体代码如下:

class Circle {
    public Point p; // 圆心坐标
    public float r; // 半径
    
    public Circle(Point p, float r) {
        this.p = p;
        this.r = r;
    }
}

class Point {
    public float x; // x坐标
    public float y; // y坐标
    
    public Point(float x, float y) {
        this.x = x;
        this.y = y;
    }
}

public class Main {
    public static void main(String[] args) {
        // 构造单位圆
        Circle circle = new Circle(new Point(0, 0), 1);
        // 你输入的点坐标
        Point point = new Point(0.5, 0.5);
        // 输出结果
        System.out.println(isInCircle(circle, point));
    }
    
    // 判断某个点是否在圆内火圆的边上面
    public static String isInCircle(Circle circle, Point point) {
        // 计算该点到圆心的距离
        float distance = Math.sqrt( // 开平方
            Math.pow(Math.abs(point.x - circle.p.x), 2), // 直角边平方
            Math.pow(Math.abs(point.y - circle.p.y), 2), // 直角边平方
            );
            // 本质上就是计算三角形的斜边长度
        return distance <= circle.r ? "Y" : "N";
        
    }
}
硪丨暧恋
2016-10-25 · TA获得超过8980个赞
知道大有可为答主
回答量:5336
采纳率:93%
帮助的人:2197万
展开全部
package Main;
import java.util.Scanner;
public class Main{
public static void main(String[] args) {
double x,y;
Scanner input = new Scanner(System.in);
x = input.nextDouble();
y = input.nextDouble();
if(x*x+ y*y == 1){
System.out.println('Y');
}else{
System.out.println('N');
}
}
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式